C# WinForm中 ComboBox问题

无常名 2011-01-05 10:51:44
在一个WinForm窗体中放置两个ComboBox,点击其中一个ComboBox选择时,另一个ComboBox的事件跟着执行!两个ComboBox的事件都为空~!两个控件都分别只有下面两个事件,而且事件为空。
private void cmbLocalDW_SelectedIndexChanged(object sender, EventArgs e)
{
}
private void cmbRemoteDW_SelectedIndexChanged(object sender, EventArgs e)
{
}

谁能给解释一下啊~!
...全文
108 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
无常名 2011-01-05
  • 打赏
  • 举报
回复
再没有知道可能是什么原因的了吗?
无常名 2011-01-05
  • 打赏
  • 举报
回复
是有点扯啊~!
龍过鸡年 2011-01-05
  • 打赏
  • 举报
回复
貌似你的vs具有人工智能阿!
不懂装懂 2011-01-05
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 zongbao516 的回复:]
数据绑定完之后,再执行的ComboBox事件,而且两个控件的事件都是空,根本就没执行任何语句,为什么另一个控件的事件也会跟着执行。

[/Quote]
去看看值类型和引用类型的区别,具体我解释不清,如果学过C++会很好理解
无常名 2011-01-05
  • 打赏
  • 举报
回复
数据绑定完之后,再执行的ComboBox事件,而且两个控件的事件都是空,根本就没执行任何语句,为什么另一个控件的事件也会跟着执行。
不懂装懂 2011-01-05
  • 打赏
  • 举报
回复
也许是数据绑定的问题,如下:

List<string> lst = new List<string>();
lst.Add("a");
lst.Add("b");
comboBox1.DataSource = lst;
comboBox2.DataSource = lst;

comboBox1变化时comboBox2也会相应的改变,改成下面这种就可以了

List<string> lst = new List<string>();
lst.Add("a");
lst.Add("b");
List<string> lst2 = new List<string>();
lst2.Add("a");
lst2.Add("b");
comboBox1.DataSource = lst;
comboBox2.DataSource = lst2;
无常名 2011-01-05
  • 打赏
  • 举报
回复
不是同一个事件,上边是窗体自动生成的代码.
whowhen21 2011-01-05
  • 打赏
  • 举报
回复
这个应该没有问题吧~!
**************************************************
本内容使用 CSDN小秘书 回复
每天回帖即可获得10分可用分!
**************************************************
whowhen21 2011-01-05
  • 打赏
  • 举报
回复
虽然名称一样,估计你两个ComboBox选择的事件是同一个,打开界面编辑器,找到ComboBox的事件,看看是不是同一个。
还有,如果按得是单步运行,也会所有的都会进入调试状态的~!
**************************************************
本内容使用 CSDN小秘书 回复
每天回帖即可获得10分可用分!
**************************************************
无常名 2011-01-05
  • 打赏
  • 举报
回复
//
// cmbRemoteDW
//
this.cmbRemoteDW.FormattingEnabled = true;
this.cmbRemoteDW.Location = new System.Drawing.Point(386, 97);
this.cmbRemoteDW.Name = "cmbRemoteDW";
this.cmbRemoteDW.Size = new System.Drawing.Size(187, 20);
this.cmbRemoteDW.TabIndex = 16;
this.cmbRemoteDW.SelectedIndexChanged += new System.EventHandler(this.cmbRemoteDW_SelectedIndexChanged);
//
// cmbLocalDW
//
this.cmbLocalDW.FormattingEnabled = true;
this.cmbLocalDW.Location = new System.Drawing.Point(126, 97);
this.cmbLocalDW.Name = "cmbLocalDW";
this.cmbLocalDW.Size = new System.Drawing.Size(158, 20);
this.cmbLocalDW.TabIndex = 15;
this.cmbLocalDW.SelectedIndexChanged += new System.EventHandler(this.cmbLocalDW_SelectedIndexChanged);
无常名 2011-01-05
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 sephirothy 的回复:]
在你已经为空还有同时执行?建议把UI里的全部DEBUG全部删除后,重新生成。
[/Quote]
嗯,上面就是两个控件的方法,都为空,两设断后,单位其中一个控件,另一个控件的事件也执行了~!郁闷~!
sephirothy 2011-01-05
  • 打赏
  • 举报
回复
在你已经为空还有同时执行?建议把UI里的全部DEBUG全部删除后,重新生成。
无常名 2011-01-05
  • 打赏
  • 举报
回复
7楼说对了,真就是这个问题~!谢谢大家,结贴。

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧