初始化之后默认执行了一次
你可以检查一下你的“窗口.Designer.cs”文件
看看是不是有生成的赋值语句
比如:comboBox1.[任何影响到Selectedndex的属性] = 什么 之类的语句
————————————
再仔细看了你的题目,我搞错了,原来是你自己引发的命令
你赋值 = -1之前,先把事件给注销掉
——————————————
comboBox1.SelectedIndexChanged -= comboBox1_SelectedIndexChanged
赋值
赋值完了之后再:
comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged
在执行DataSource的时候会执行SelectedIndexChanged事件.给combobox.SelectedIndex=-1时也会再执行SelectedIndexChanged事件
因为你绑定数据的时候也会处罚SelectedIndexChanged时间,你可以在该事件中加个判断,if(SelectedValue==null) return;
你少绑定了一个ID。