我在数据网格视图中有一个DataGridViewComboBoxColumn。我附上了一个列表作为数据源。现在我需要根据组合框的选定索引触发一个事件。我怎样才能完成它呢?在此先感谢
答案 0 :(得分:7)
鉴于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
。您只需要基类的功能,而且输入的次数更少。