ユーザーがグリッドの DataGridViewComboBoxColumn の値を変更したときにアクションを実行する必要があります。メッセージを表示する必要があるとします。
問題は、 messagebox.show("hello") コードが何百万回も実行されることです。
これが私のコードです。
grilla.EditingControlShowing+=new DataGridViewEditingControlShowingEventHandler(grilla_EditingControlShowing);
void grilla_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if (e.Control is ComboBox) //i have only one combobox column.
{
ComboBox cb = (ComboBox)e.Control;
// first remove event handler to keep from attaching multiple:
cb.SelectedIndexChanged -= new EventHandler(cb_SelectedIndexChanged);
// now attach the event handler
cb.SelectedIndexChanged += new EventHandler(cb_SelectedIndexChanged);
}
}
void cb_SelectedIndexChanged(object sender, EventArgs e)
{
MessageBox.Show("hello");
}