Как создать обработчик событий для DataGridViewComboBoxColumn в представлении таблицы данных в Winform - PullRequest
1 голос
/ 11 ноября 2010

У меня есть DataGridViewComboBoxColumn в виде сетки данных.Я приложил список в качестве источника данных.Теперь мне нужно запустить событие, основанное на выбранном индексе в выпадающем списке. Как я могу сделать это?Заранее спасибо

1 Ответ

7 голосов
/ 11 ноября 2010

Учитывая, что свойство SelectedIndex принадлежит элементу управления редактированием (которое активно только тогда, когда DataGridView находится в режиме редактирования), вы можете прикрепить обработчик событий к EditingControlShowing следующим образом:

void dataGridView_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e) {
    if (e.Control is ComboBox) {
        // remove handler first to avoid attaching twice
        ((ComboBox)e.Control).SelectedIndexChanged -= MyEventHandler;
        ((ComboBox)e.Control).SelectedIndexChanged += MyEventHandler;
    }
}

Обратите внимание, что фактический тип элемента управления - DataGridViewComboBoxEditingControl, что расширяет ComboBox. Вам нужна только функциональность из базового класса, плюс меньше набирать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...