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

Тема в разделе ".NET", создана пользователем ViTD, 10 май 2006.

Статус темы:
Закрыта.
  1. ViTD

    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(). Кто подскажет как бы мне это организовать?
     
  2. mr_ST

    mr_ST Гость

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

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

    ViTD Гость

    Это просто классная идея! Только что успешно её реализовал. Спасибо!
     
Загрузка...
Похожие Темы - Динамическое связывание обработчиков
  1. JohnLemon
    Ответов:
    4
    Просмотров:
    1.165
  2. Katyha1706
    Ответов:
    1
    Просмотров:
    1.456
  3. Katyha1706
    Ответов:
    0
    Просмотров:
    1.112
  4. KatyaVm22
    Ответов:
    4
    Просмотров:
    1.393
  5. NickProstoNick
    Ответов:
    30
    Просмотров:
    5.436
Статус темы:
Закрыта.

Поделиться этой страницей