Winforms 单击DataGridViewComboxCell时调用什么事件
我在DataGridViewComboxCell中有一个项目列表;我想在用户单击某个值时立即执行某些操作 什么是活动,或者我如何做我想做的事Winforms 单击DataGridViewComboxCell时调用什么事件,winforms,datagridview,Winforms,Datagridview,我在DataGridViewComboxCell中有一个项目列表;我想在用户单击某个值时立即执行某些操作 什么是活动,或者我如何做我想做的事 当我们离开单元格时,会调用CellValueChanged…您可以处理组合框的selectededindexchanged private void dataGridView1_EditingControlShowing(object sender, DataGridViewEditingControlShowin
当我们离开单元格时,会调用CellValueChanged…您可以处理组合框的selectededindexchanged
private void dataGridView1_EditingControlShowing(object sender,
DataGridViewEditingControlShowingEventArgs e)
{
ComboBox cb = e.Control as ComboBox;
if (cb != null)
{
// 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("Selected index changed");
}
另一种可能的方法是:
private void dataGridView1_EditingControlShowing(object sender,
DataGridViewEditingControlShowingEventArgs e)
{
ComboBox cb = e.Control as ComboBox;
if (cb == null)
return;
dataGridView1.EditingControlShowing -= dataGridView1_EditingControlShowing;
cb.SelectedIndexChanged += cb_SelectedIndexChanged;
}
void cb_SelectedIndexChanged(object sender, EventArgs e)
{
MessageBox.Show("Selected index changed");
}
你什么都只做一次。谢谢!我使用你的基本想法,我能够完成我的工作!!!现在很多压力都消失了。。。