Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.90/21: Рейтинг темы: голосов - 21, средняя оценка - 4.90
0 / 0 / 2
Регистрация: 01.01.2015
Сообщений: 96
1

Не работает button_Click

28.02.2017, 21:09. Показов 3868. Ответов 20
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте. Не работает button_Click, код:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
private void button1_Click(object sender, EventArgs e)
        {
            try
            {
                label5.Text = Convert.ToString(SphereOB.V(SphereOB.R));
                label4.Text = Convert.ToString(SphereOB.S(SphereOB.R));
            }
            catch (FormatException)
            {
                MessageBox.Show("Введённая строка не отображает число, допустимое для заданного типа");
                textBox1.Focus();
            }
            catch (OverflowException)
            {
                MessageBox.Show("Введено слишком большое число");
                textBox1.Focus();
            }
        }
Класс SphereOB:
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class Sphere
    {
        int a;
        // Свойство сферы
        public int R
        {
            get { return a; }
            set { a = value; }
        }
        // Создаём методы класса 
        public double V(int r)
        {
            return Math.Round(4 * Math.PI * Math.Pow(r, 3) / 4, 3);
        }
 
        public double S(int r)
        {
            return Math.Round(4 * Math.PI * Math.Pow(r, 2), 3);
        }
    }
Самое главное что и это не работает:
C#
1
2
3
4
5
6
private void button2_Click(object sender, EventArgs e)
        {
            Form Form1 = new Form1();
            Form1.Show();
            this.Hide();
        }
Так, что дело не классе, я думаю.
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
28.02.2017, 21:09
Ответы с готовыми решениями:

Button_Click не работает
Ставлю на страницу кнопку. На MyButton_Click ставлю брейкпоинт. Проверяю, что Handles на месте....

Событие "Button_Click" на кастомной кнопке не работает
Привет всем, Пытаюсь создать свою кнопку. Проверяю работает ли событие клик. Ан нет. Не работает....

Button_Click
Создал обработчик события для кнопки, нажав дважды по ней. Написал некоторый код. Но когда пытаюсь...

Как остановить Button_Click ?
Есть на aspx-странице кнопка. На стороне сервера она выполняет какие-то действия. Мне нужно на...

20
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
28.02.2017, 21:13 2
50VAJJ, Измените Form Form1 = new Form1(); на Form1 Form1 = new Form1();
0
644 / 528 / 324
Регистрация: 20.05.2015
Сообщений: 1,469
28.02.2017, 21:15 3
Они указаны в events-ах у кнопок?
0
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
28.02.2017, 21:16 4
Aferuga, нет ви просто визиваете не ту форму
0
0 / 0 / 2
Регистрация: 01.01.2015
Сообщений: 96
28.02.2017, 21:21  [ТС] 5
Не помогло.
0
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
28.02.2017, 21:28 6
50VAJJ, а что дожно происходить по идее откриватся форма я так понимаю
0
0 / 0 / 2
Регистрация: 01.01.2015
Сообщений: 96
28.02.2017, 21:29  [ТС] 7
Да, а эта закрывается.
0
644 / 528 / 324
Регистрация: 20.05.2015
Сообщений: 1,469
28.02.2017, 21:29 8
LyciferAnZ, Согласен только это не факт что обработчик события написан и привязан к определенной кнопке)
0
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
28.02.2017, 21:29 9
какую вам форму нужно откривать?
0
0 / 0 / 2
Регистрация: 01.01.2015
Сообщений: 96
28.02.2017, 21:30  [ТС] 10
Первую же, Form1
0
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
28.02.2017, 21:31 11
50VAJJ, а с какой форми визиваете?
0
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
28.02.2017, 21:33 12
50VAJJ, используйте лучше делегати так как не хорошо со второй визивать предидущюю
0
0 / 0 / 2
Регистрация: 01.01.2015
Сообщений: 96
28.02.2017, 21:34  [ТС] 13
Вот фото конструктора
Миниатюры
Не работает button_Click   Не работает button_Click  
0
644 / 528 / 324
Регистрация: 20.05.2015
Сообщений: 1,469
28.02.2017, 21:38 14
C#
1
2
3
4
5
6
public Form2()
        {
            InitializeComponent();
        button1.Click+=button1_Click;
        button2.Click+=button2_Click;
}
0
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
28.02.2017, 21:40 15
50VAJJ, ви пробивали пересоздать проект?

Добавлено через 55 секунд
ну или сделать как Aferuga
0
0 / 0 / 2
Регистрация: 01.01.2015
Сообщений: 96
28.02.2017, 21:45  [ТС] 16
Цитата Сообщение от Aferuga Посмотреть сообщение
C#
1
2
3
4
5
6
public Form2()
        {
            InitializeComponent();
        button1.Click+=button1_Click;
        button2.Click+=button2_Click;
}
Да, заработало, спасибо. А почему так? Ведь раньше так не делал и всё работало. И да, ещё что бы не вводил label = 0.
0
644 / 528 / 324
Регистрация: 20.05.2015
Сообщений: 1,469
28.02.2017, 21:47 17
Лучший ответ Сообщение было отмечено 50VAJJ как решение

Решение

Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
private void button13_Click(object sender, EventArgs e)
        {
            Sphere SphereOB = new Sphere();
            int r;
            if (int.TryParse(textBox1.Text, out r))
            {
                SphereOB.R = r;
                try
                {
                    listBox1.Items.Add(Convert.ToString(SphereOB.V()));
                    listBox1.Items.Add(Convert.ToString(SphereOB.S()));
                }
                catch (FormatException)
                {
                    MessageBox.Show("Введённая строка не отображает число, допустимое для заданного типа");
                    textBox1.Focus();
                }
                catch (OverflowException)
                {
                    MessageBox.Show("Введено слишком большое число");
                    textBox1.Focus();
                }
            }
        
        }

И сам класс
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 class Sphere
        {
            int a;
            // Свойство сферы
            public int R
            {
                get { return a; }
                set { a = value; }
            }
            // Создаём методы класса 
            public double V()
            {
                return Math.Round(4 * Math.PI * Math.Pow(a, 3) / 4, 3);
            }
 
            public double S()
            {
                return Math.Round(4 * Math.PI * Math.Pow(a, 2), 3);
            }
        }
1
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
28.02.2017, 21:47 18
50VAJJ, потому что у ваших кнопок небило обработчиков а так ви привьязали их
1
0 / 0 / 2
Регистрация: 01.01.2015
Сообщений: 96
28.02.2017, 21:51  [ТС] 19
Цитата Сообщение от LyciferAnZ Посмотреть сообщение
50VAJJ, потому что у ваших кнопок небило обработчиков а так ви привьязали их
Спасибо.

Добавлено через 20 секунд
Цитата Сообщение от Aferuga Посмотреть сообщение
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
private void button13_Click(object sender, EventArgs e)
        {
            Sphere SphereOB = new Sphere();
            int r;
            if (int.TryParse(textBox1.Text, out r))
            {
                SphereOB.R = r;
                try
                {
                    listBox1.Items.Add(Convert.ToString(SphereOB.V()));
                    listBox1.Items.Add(Convert.ToString(SphereOB.S()));
                }
                catch (FormatException)
                {
                    MessageBox.Show("Введённая строка не отображает число, допустимое для заданного типа");
                    textBox1.Focus();
                }
                catch (OverflowException)
                {
                    MessageBox.Show("Введено слишком большое число");
                    textBox1.Focus();
                }
            }
        
        }

И сам класс
Кликните здесь для просмотра всего текста
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
 class Sphere
        {
            int a;
            // Свойство сферы
            public int R
            {
                get { return a; }
                set { a = value; }
            }
            // Создаём методы класса 
            public double V()
            {
                return Math.Round(4 * Math.PI * Math.Pow(a, 3) / 4, 3);
            }
 
            public double S()
            {
                return Math.Round(4 * Math.PI * Math.Pow(a, 2), 3);
            }
        }
Спасибо большое, всё работает.
0
33 / 8 / 6
Регистрация: 28.09.2016
Сообщений: 200
28.02.2017, 21:51 20
50VAJJ, пожалуйста
0
28.02.2017, 21:51
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2017, 21:51
Помогаю со студенческими работами здесь

Вызвать метод button_click
то есть, вот это private void button1_Click(object sender, EventArgs e) private void Nev() ...

Event Handling и Button_Click
Возникла проблема с назначением действия кнопкам. На форме динамически добавляются UserControl...

Отмена выполнения обработчика Button_Click
Как сделать, а точнее отменить выполнение обработчика, суть вот в чем, при нажатии на кнопку...

Передача параметра в метод button_click()
public ProductDescription() { InitializeComponent(); ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru