C# 为什么我给点击的comboboxcell添加了事件结果所有的comboboxcell都添加了这个事件??!!
代码如下,我实在datagridview中添加了两列datagridviewcomboboxcolumn,然后我想给第一列增加一个事件,所以只有在currentcell....
代码如下,我实在datagridview中添加了两列datagridviewcomboboxcolumn,然后我想给第一列增加一个事件,所以只有在currentcell.columnindex==0的时候才添加,但是为什么第二列也添加了这个事件?没办法我只能在==1的时候再移出这个事件,但是有更多列的话就不能这样了,应该怎么做?e.Control指的是什么?
其实我就是想添加combobox改变选项的事件,但是这个又不能直接加在comboboxcolumn上,所以用了editingcontrolshowing,如果有别的思路也可以。
private void dgv_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if(dgv.CurrentCell.ColumnIndex == 0)
((ComboBox)e.Control).SelectedIndexChanged += new EventHandler(combobox1_SelectedIndexChanged);
if(dgv.CurrentCell.ColumnIndex == 1)
((ComboBox)e.Control).SelectedIndexChanged -= new EventHandler(combobox1_SelectedIndexChanged);
} 展开
其实我就是想添加combobox改变选项的事件,但是这个又不能直接加在comboboxcolumn上,所以用了editingcontrolshowing,如果有别的思路也可以。
private void dgv_EditingControlShowing(object sender, DataGridViewEditingControlShowingEventArgs e)
{
if(dgv.CurrentCell.ColumnIndex == 0)
((ComboBox)e.Control).SelectedIndexChanged += new EventHandler(combobox1_SelectedIndexChanged);
if(dgv.CurrentCell.ColumnIndex == 1)
((ComboBox)e.Control).SelectedIndexChanged -= new EventHandler(combobox1_SelectedIndexChanged);
} 展开
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询