Форум программистов, компьютерный форум, киберфорум
C# Windows Forms
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/6: Рейтинг темы: голосов - 6, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 10.02.2015
Сообщений: 18
.NET 4.x

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

10.02.2015, 13:14. Показов 1369. Ответов 2
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет, я столкнулся с этой проблемой, два дня назад, и до сих пор никак не могу решить эту проблему. Суть в том, что я создать программно через цикл несколько checkbox'ов , и к каждому прикрепил один и тот же обработчик событий. Вот код:
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
  
 
 
 
        private void columnnames()
        {
            //
            string connStr = "server=localhost;user=root;database=test;port=3306;password=;charset=utf8;";
            
            MySqlConnection conn = new MySqlConnection(connStr);
            try
            {
                label2.Text = "Подключение к MySQL...";
                
                conn.Open();
 
                MySqlCommand comm = new MySqlCommand(alltable, conn);
                MySqlDataReader myReader = comm.ExecuteReader();
                chckbox_cm = new CheckBox[myReader.FieldCount];
                for (count=0;count<myReader.FieldCount;count++)
                {
                    string nextColumnName = myReader.GetName(count);
                    chckbox_cm[count] = new CheckBox();
                    chckbox_cm[count].Location = new Point(locx, locy = locy + 20);
                    Controls.Add(chckbox_cm[count]);
                    chckbox_cm[count].Click += new EventHandler(checkBox2_CheckedChanged);
                    chckbox_cm[count].Text = nextColumnName;
 
                }
 
                myReader.Close();
 }
            catch (Exception ex)
            {
                label2.Text = ex.ToString();
            }
           
conn.Close(); 
                label2.Text = "Выполнено!";
 
           
        }
  private void checkBox2_CheckedChanged(object sender, EventArgs e)
        {  
            columnsdb += Convert.ToString(chckbox_cm[count]+ " ");
//Если что, переменная count объявлена глобальной
//columnsdb тоже глобальная
            MessageBox.Show(columnsdb);
            
            button2.Enabled = true;
            label4.Visible = true; 
            label6.Visible = true;
            groupBox3.Visible = true;
            column_name0.Enabled = false;
 }
Ошибка вот в этой строке :
C#
1
columnsdb += Convert.ToString(chckbox_cm[count]+ " ");
Ошибка : Индекс находится вне границ массива
Прошу, помогите мне, заранее спасибо!
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
10.02.2015, 13:14
Ответы с готовыми решениями:

Обработчик событий динамически созданных кнопок
Уважаемые форумчане, помогите студентам! У нас есть функция, которая создает количество кнопок, равное количеству файлов в папке ...

Использование обработчиков событий для динамически созданных компонентов
Здравствуйте! Проблемка в следующем: я кодом создаю ListView на форме и хочу, чтобы при выборе элементов из этого ListView запускалась...

Динамическое создание событий для динамически созданных TextBox
Есть поиск по Excel. Пользователь пишет фамилию, программа ищет по ней записи в таблице и выдает их в динамически созданных текстбоксах....

2
Эксперт .NETАвтор FAQ
 Аватар для Storm23
10427 / 5157 / 1825
Регистрация: 11.01.2015
Сообщений: 6,226
Записей в блоге: 34
10.02.2015, 13:31
C#
1
columnsdb += (sender as CheckBox).Text;
1
1 / 1 / 0
Регистрация: 10.02.2015
Сообщений: 18
10.02.2015, 13:45  [ТС]
Storm23, Спасибо огромное, все работает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
10.02.2015, 13:45
Помогаю со студенческими работами здесь

Обработка событий динамически созданных объектов WinForms
В проекте есть две обособленные формы Form1 и Form2. На Form2 динамически в ячейки элемента tableLayoutPanel циклом загоняются объекты...

Доступ к свойствам динамически созданных кнопок из обработчика событий
Здравствуйте, создал динамически кнопки и обработчик для них // Кнопки цифр int x = 30, y = 60; ...

Eventhandler для динамически создаваемых контроллов
Вопрос в том, как указать свой (индивидуальный) метод для каждого динамического контролла? for (z = 0; z &lt; 10; z++) ...

Как считать данные с динамически созданных контроллов
Привет всем! Такой вопрос. У меня есть страница с формой добавление пользователя. У этого пользователя могут быть несколько адресов....

Обработчик событий у динамически созданных элементов управлений
Создаю радиобаттоны следующим образом: Dim row As DataRowView Dim groupBox1 As New GroupBox() Dim f As New...


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

Или воспользуйтесь поиском по форуму:
3
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru