• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

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

    Запись на курс до 25 апреля. Получить промодоступ ...

Динамическое связывание обработчиков событий

  • Автор темы ViTD
  • Дата начала
Статус
Закрыто для дальнейших ответов.
V

ViTD

У меня в программе создается массив из элементов RadioButton, примерно таким образом:

while(i--)
{
RadioButton *bt = new System::Windows::Forms::RadioButton();
this->buttons->Add(bt);
}

, где buttons это массив вида System::Collections::ArrayList;

Все это хозяйство в конечном итоге благополучно рисуется на экране. Далее мне нужно сделать реакцию на клики мышью: для каждой кнопки нужен свой обработчик. Допустим, клик на buttons->Item[0] нужно связать с методом Item1_Click(), а buttons->Item[1] c Item2_Click(). Кто подскажет как бы мне это организовать?
 
M

mr_ST

Задача не совсем ясна. Количество контролов у вас заранее известно? Если нет то делайте один обработчик который будет проверять от какой кнопки пришол сообщени и что-то с этим делать. Если кол-во фиксированное, т.е. нужно связть кнопку 1 с методом клик1 и т.д. (и если хочеться поизвращаться :) ) то можно использовать рефлексию.

Если хочется совсем больших извращений то можно методы обработчики генерировать на лету через Emit :)
 
V

ViTD

Задача не совсем ясна. Количество контролов у вас заранее известно? Если нет то делайте один обработчик который будет проверять от какой кнопки пришол сообщени и что-то с этим делать.

Это просто классная идея! Только что успешно её реализовал. Спасибо!
 
Статус
Закрыто для дальнейших ответов.
Мы в соцсетях:

Обучение наступательной кибербезопасности в игровой форме. Начать игру!