0 / 0 / 0
Регистрация: 10.09.2016
Сообщений: 52
1

Нажатие по динамически созданной кнопке

04.02.2017, 19:08. Показов 2162. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте! Подскажите, как создать событие, которое будет происходит после нажатия, к примеру, кнопки tb[0, 0].
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
Button[,] tb = new Button[3, 3];
for (int i = 0; i < 3; i++)
            {
                for (int j = 0; j < 3; j++)
                {
                    tb[i, j] = new System.Windows.Forms.Button();
                    tb[i, j].Location = new System.Drawing.Point(30 + j * 70, 30 + i * 70);
                    tb[i, j].Name = "B" + i.ToString() + j.ToString();
                    tb[i, j].Size = new System.Drawing.Size(70, 70);
                    tb[i, j].TabIndex = i;
                    Controls.Add(tb[i, j]);
                    tb[i, j].Click += new System.EventHandler(tb_Click);
                }
 
                tb[0,0].Click += new System.EventHandler(tb_Click); // button1_Click - функция обработчик события нажатия на кнопку
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.02.2017, 19:08
Ответы с готовыми решениями:

Каждой динамически созданной кнопке свой динамически созданный PictureBox
Добрый день. Надеюсь, что пишу в тот раздел. Находил немного похожие темы: каждая созданная кнопка...

Как задать событие на клик по динамически созданной кнопке
Как задать событие на клик по динамически созданной кнопке? изначально на пустой форме у нас есть...

Как отловить клик мыши на динамически созданной кнопке
Всем привет! Динамически создаю кнопку. В ней есть событие, что при нажатии на неё правой кнопкой...

Как обратиться к кнопке созданной в цикле?
Здравствуйте, пишу игру &quot;Жизнь&quot;, клетки реализую в виде кнопок, которые создаются в цикле(их 1600)....

4
Эксперт .NET
5876 / 4753 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
04.02.2017, 19:14 2
9senser9,
Подписка уже есть:
C#
1
tb[i, j].Click += new System.EventHandler(tb_Click);
Обработчик добавьте вручную. Например, такой:
C#
1
2
3
4
5
void tb_Click(object sender, EventArgs e)
{
    Button btn = sender as Button;
    MessageBox.Show("Кнопка " + btn.Name);
}
0
0 / 0 / 0
Регистрация: 10.09.2016
Сообщений: 52
04.02.2017, 19:21  [ТС] 3
Это я понимаю, но как сделать, чтобы для разных кнопок, выполнялось разное действие?
0
Эксперт .NET
5876 / 4753 / 2940
Регистрация: 20.04.2015
Сообщений: 8,361
04.02.2017, 19:31 4
9senser9,
А действия настолько разные, что их нельзя в одном обработчике реализовать?
Если такие, то каждую кнопку придется к своему обработчику после цикла подписывать:
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
    Button[,] tb = new Button[3, 3];
    for (int i = 0; i < 3; i++)
    {
        for (int j = 0; j < 3; j++)
        {
            //...
            Controls.Add(tb[i, j]);
            // tb[i, j].Click += new System.EventHandler(tb_Click); - в цикле подписывать не нужно
        }
    }
    tb[0, 0].Click += new System.EventHandler(tb00_Click);
    tb[0, 1].Click += new System.EventHandler(tb01_Click);
    //ну и т.д.
}
 
void tb00_Click(object sender, EventArgs e)
{
    //действия при щелчке по анопке tb[0, 0]
}
void tb01_Click(object sender, EventArgs e)
{
    //действия при щелчке по анопке tb[0, 1]
}
//ну и т.д.
0
0 / 0 / 0
Регистрация: 27.02.2016
Сообщений: 1
08.02.2017, 19:28 5
C#
1
2
3
4
                if (((Button)sender).Name == bt[0,0].Name)
                {
                 ...
                }
ну как то так...
0
08.02.2017, 19:28
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.02.2017, 19:28
Помогаю со студенческими работами здесь

Обращение к динамически созданной форме
Динамически создал форму и кнопку на ней. Не могу понять как обратиться к этой форме из обработчика...

Обращение к динамически созданной DataGridView
Всем доброго времени суток! Итак, имеем: - Массив из датаГридВью - ТабКонтрол - Список...

Отклик от динамически созданной button?
private void Form2_Load(object sender, EventArgs e) { ... for (int i =...

Удаление динамически созданной кнопки
как можно нажав допустим пкм на кнопку Б, удалить кнопку Б, если кнопка Б была создана...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

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