C#winform问题 datagridview中combobox选项改变触发事件用哪个方法。你是用什么方法解决的啊。
C#winform问题datagridview中combobox选项改变触发事件用哪个方法。你是用什么方法解决的啊。能帮我一下不?...
C#winform问题 datagridview中combobox选项改变触发事件用哪个方法。你是用什么方法解决的啊。能帮我一下不?
展开
展开全部
SelectedIndexChanged事件。
如果你的combobox控件名为comboBox1,那么可以这样注册事件:
comboBox1.SelectedIndexChanged+=new EventHandler(comboBox1_SelectedIndexChanged);
然后,当选项改变时,可以在以下事件中处理:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
//你的处理代码,sender为combobox控件,使用前需先转换为ComboBox类型
}
如果你的combobox控件名为comboBox1,那么可以这样注册事件:
comboBox1.SelectedIndexChanged+=new EventHandler(comboBox1_SelectedIndexChanged);
然后,当选项改变时,可以在以下事件中处理:
private void comboBox1_SelectedIndexChanged(object sender, EventArgs e)
{
//你的处理代码,sender为combobox控件,使用前需先转换为ComboBox类型
}
追问
你说的这种方式我用了。只是我用的是datagridview的EditingControlShowing事件。可以得到选择的值。但是有个奇怪现象就是。我在SelectedIndexChanged中添加了一个messageBox的调试信息,每次comboBox的值发生改变后,messageBox都会弹出很多次。
追答
哦,我大概明白楼主的问题了。
你是不是在EditingControlShowing事件里,注册了combobox的SelectedIndexChanged事件?
如果是的话,那来回选择下拉框次数多了,的确会弹出好几次messagebox,因为你注册了多次SelectedIndexChanged事件,程序会在之后的选择中,弹出你注册次数的messagebox数。
这个问题只需要在注册(+=)之前,先注销事件(-=)就行了,保证每个combobox只注册了一次。
第一次用-=时会有错误,因为还没注册就注销了,所以可以在-=处try catch下。
展开全部
没弄明白你的主要意图,你是要触发那个事件来干嘛的?
你可以写datagridview的CellValueChanged来触发事件,这个事件的功能就是当datagridview中的单元格数据发生变化时引发的事件,string da = (cmbDay.SelectedIndex+1).ToString(); //定义一个变量来接收combobox中选择的值。
在将值赋给datagridview的单元格 如下:
da=datagridview.Rows[e.RowIndex].Cells[3].Value.ToString();//表示赋给当前行第四个单元格
这是我根据你提问的大概理解做出的答案,希望对你有所帮助.....有不明白的可以随时找哦!!
你可以写datagridview的CellValueChanged来触发事件,这个事件的功能就是当datagridview中的单元格数据发生变化时引发的事件,string da = (cmbDay.SelectedIndex+1).ToString(); //定义一个变量来接收combobox中选择的值。
在将值赋给datagridview的单元格 如下:
da=datagridview.Rows[e.RowIndex].Cells[3].Value.ToString();//表示赋给当前行第四个单元格
这是我根据你提问的大概理解做出的答案,希望对你有所帮助.....有不明白的可以随时找哦!!
追问
我要实现的效果是这样子:我自己生成了datagridView的整体结构,根据查询得到的dataTable的数据,将信息添加到datagridview的指定列中。并在后面增加了一列DataGridViewComboBoxColumn,根据DataGridViewComboBoxColumn中选择值不同,再调用不同的form出来处理相关信息。
现在遇到的问题就是我在SelectedIndexChanged中添加了一个messageBox的调试信息,每次comboBox的值发生改变后,messageBox都会弹出很多次。不知道怎么处理。
追答
那你试下datagridview的CellValueChanged事件,这个应该可以解决你的问题。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
CellValidated 或 CellValueChanged 事件 你试下
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
用值改变事件可以么,你想要什么效果啊
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询