Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
 Аватар для generation472
24 / 24 / 7
Регистрация: 04.11.2011
Сообщений: 566
Записей в блоге: 1

Создание события для динамических контролов

23.11.2013, 16:43. Показов 2466. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Привет всем у меня такая проблемка

Я создал динамически массив контролов, как сделать событие чтоб при нажатие на один из этих контролов он выполнял нужные мне действия.


C#
1
2
3
4
5
6
7
8
 public PictureBox[] pbox=new PictureBox[10];
 pbox[i] = new System.Windows.Forms.PictureBox();
                pbox[i].Image = wall; 
                pbox[i].Location = new System.Drawing.Point(21, 17);
                pbox[i].Name = "PictureBox" + i.ToString();
                pbox[i].Size = new System.Drawing.Size(55, 20);
                pbox[i].TabIndex = i;
                panel2.Controls.Add(pbox[i]);
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
23.11.2013, 16:43
Ответы с готовыми решениями:

Обработчик события для массива динамических контролов
Как создать сразу для всего массива динамически созданных контролов один одинаковый обработчик события? //В цикле picbox.Click += new...

Как назначить один обработчик события для нескольких контролов
Здравствуйте. Имеется 8 numericUpDown. Подскажите пожалуйста можно ли сократить такой код: private void...

Ошибка System.NullReferenceException при создании динамических контролов
На форме по нажатию на кнопки можно создать до трех контролов DateTimePicker. Их значение нужно передать в класс Class1. Если создается все...

6
208 / 164 / 29
Регистрация: 11.09.2013
Сообщений: 445
23.11.2013, 16:52
C#
1
pbox[i].Click += new EventHandler(MyMethodForSingleClick);
1
 Аватар для generation472
24 / 24 / 7
Регистрация: 04.11.2011
Сообщений: 566
Записей в блоге: 1
23.11.2013, 17:02  [ТС]
Цитата Сообщение от sezada Посмотреть сообщение
C#
1
pbox[i].Click += new EventHandler(MyMethodForSingleClick);
ругается на MyMethodForSingleClick
0
208 / 164 / 29
Регистрация: 11.09.2013
Сообщений: 445
23.11.2013, 17:24
ну дык объявите его. это может быть любой метод void SomeName (object sender, EventArgs e). только имя передавайте в new EventHandler
1
 Аватар для generation472
24 / 24 / 7
Регистрация: 04.11.2011
Сообщений: 566
Записей в блоге: 1
23.11.2013, 17:28  [ТС]
не помогло это
Цитата Сообщение от sezada Посмотреть сообщение
pbox[i].Click += new EventHandler(MyMethodForSingleClick)
мне нужно чтоб одно действие выполнялось для всех контролов но не одновременно только в в момент нажатия

Добавлено через 1 минуту
sezada, распишите пожалуйста

Добавлено через 1 минуту
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
for (int i = 0; i < pbox.Length; i++)
            {
                pbox[i] = new System.Windows.Forms.PictureBox();
                pbox[i].Image = wall; 
                pbox[i].Location = new System.Drawing.Point(21, 17);
                pbox[i].Name = "PictureBox" + i.ToString();
                pbox[i].Size = new System.Drawing.Size(55, 20);
                pbox[i].TabIndex = i;
                pbox[i].Text = "PictureBox" + i.ToString();
                panel2.Controls.Add(pbox[i]);
                pbox[i].Click += new EventHandler(object sender, EventArgs e);
 
               /* Controls.Add(pbox[i]);*/
            }
0
208 / 164 / 29
Регистрация: 11.09.2013
Сообщений: 445
23.11.2013, 17:30
C#
1
2
3
4
5
6
7
8
9
10
11
 pbox[i].Click += new EventHandler(SomeName);
 
// где-то ниже
 
void SomeName (object sender, EventArgs e)
{
    // получаем пбокс, по которому кликнули
    PictureBox pb = sender as PictureBox;
 
    // и делаем, что хотим
}
2
 Аватар для generation472
24 / 24 / 7
Регистрация: 04.11.2011
Сообщений: 566
Записей в блоге: 1
23.11.2013, 17:51  [ТС]
sezada, и как допустим задать ему новое расположение(lacation)?

pb.Location.X=0;
пишет что не является переменой

Добавлено через 11 минут
нашёл как надо
C#
1
pb.Location = new System.Drawing.Point(5, 7);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
23.11.2013, 17:51
Помогаю со студенческими работами здесь

Работа с массивом контролов динамических кнопок при нажатии
Есть массив кнопок, каждый со своим именем и текстом. Как при нажатии на одну из этих кнопок получить текст именно той, которая была...

Создание динамических контролов.
Почитал,у вас на форуме как создать динамически контролы,пробовал не получилось.А надо было создать радиобаттоны(создаю голосование).Решил...

Создание динамических события от динамических элементов
Доброго времени суток! В общем беда такая, создаю по циклу, например 10 опендиалогов и 10 баттонов, нужно, чтобы по клику на каждый баттон...

Можно ли создать обработчик события для группы контролов
Вопрос такой - Есть комбобокс, для отлавливания события на изменении выбора позиции в нем мы используем ComboBox1.SelectedIndexChanged. А...

Удаление динамических контролов
В класе описана кнопка котороая создайот динамически кнопку і текстБокс. кнпока которая создайотся динамически должна удалять і саму себя і...


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

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
http://iceja.net/ математические сервисы
iceja 20.01.2026
Обновила свой сайт http:/ / iceja. net/ , приделала Fast Fourier Transform экстраполяцию сигналов. Однако предсказывает далеко не каждый сигнал (см ограничения http:/ / iceja. net/ fourier/ docs ). Также. . .
http://iceja.net/ сервер решения полиномов
iceja 18.01.2026
Выкатила http:/ / iceja. net/ сервер решения полиномов (находит действительные корни полиномов методом Штурма). На сайте документация по API, но скажу прямо VPS слабенький и 200 000 полиномов. . .
Расчёт переходных процессов в цепи постоянного тока
igorrr37 16.01.2026
/ * Дана цепь(не выше 3-го порядка) постоянного тока с элементами R, L, C, k(ключ), U, E, J. Программа находит переходные токи и напряжения на элементах схемы классическим методом(1 и 2 з-ны. . .
Восстановить юзерскрипты Greasemonkey из бэкапа браузера
damix 15.01.2026
Если восстановить из бэкапа профиль Firefox после переустановки винды, то список юзерскриптов в Greasemonkey будет пустым. Но восстановить их можно так. Для этого понадобится консольная утилита. . .
Сукцессия микоризы: основная теория в виде двух уравнений.
anaschu 11.01.2026
https:/ / rutube. ru/ video/ 7a537f578d808e67a3c6fd818a44a5c4/
WordPad для Windows 11
Jel 10.01.2026
WordPad для Windows 11 — это приложение, которое восстанавливает классический текстовый редактор WordPad в операционной системе Windows 11. После того как Microsoft исключила WordPad из. . .
Classic Notepad for Windows 11
Jel 10.01.2026
Old Classic Notepad for Windows 11 Приложение для Windows 11, позволяющее пользователям вернуть классическую версию текстового редактора «Блокнот» из Windows 10. Программа предоставляет более. . .
Почему дизайн решает?
Neotwalker 09.01.2026
В современном мире, где конкуренция за внимание потребителя достигла пика, дизайн становится мощным инструментом для успеха бренда. Это не просто красивый внешний вид продукта или сайта — это. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru