有時,獲知用戶在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");
}