有时,获知用户在ComboBox编辑控件中已经选中一项是很有必要的。我们可以在DataGridView.EditingControlShowing事件中对DataGridViewComboBox进行一些处理来实现。接下来的示例演示了如何实现这种功能。注意这个示例同时也演示了如何防止引发多重SelectedIndexChanged事件。
代码:
private void dataGridView1_EditingControlShowing(object sender,
DataGridViewEditingControlShowingEventArgs e)
{
ComboBox cb = e.Control as ComboBox;
if (cb != null)
{
// 首先移除事件处理程序以防止多重触发附加事件
cb.SelectedIndexChanged -= new
EventHandler(cb_SelectedIndexChanged);
// 附加事件处理程序
cb.SelectedIndexChanged += new
EventHandler(cb_SelectedIndexChanged);
}
}
void cb_SelectedIndexChanged(object sender, EventArgs e)
{
MessageBox.Show("Selected index changed");
}