C#SelectedIndexChanged 问题

刚刚那个按错了还没问完就提交了TT为什么我这样写的代码打开窗体后会弹出这个明明都已经空了... 刚刚那个按错了 还没问完就提交了TT 为什么

我这样写的代码 打开窗体后

会弹出这个
明明都已经空了
展开
 我来答
百度网友9ba62ef
2013-09-09 · TA获得超过282个赞
知道小有建树答主
回答量:169
采纳率:0%
帮助的人:64.3万
展开全部
初始化之后默认执行了一次

你可以检查一下你的“窗口.Designer.cs”文件
看看是不是有生成的赋值语句
比如:comboBox1.[任何影响到Selectedndex的属性] = 什么 之类的语句

————————————

再仔细看了你的题目,我搞错了,原来是你自己引发的命令
你赋值 = -1之前,先把事件给注销掉

——————————————

comboBox1.SelectedIndexChanged -= comboBox1_SelectedIndexChanged
赋值
赋值完了之后再:
comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged
更多追问追答
追问

这个吗 我想让他不要一打开窗体就弹框 想点击combobox的时候才弹框

追答
再仔细看了你的题目,我搞错了,原来是你自己引发的命令
你赋值 = -1之前,先把事件给注销掉

——————————————

comboBox1.SelectedIndexChanged -= comboBox1_SelectedIndexChanged
赋值
赋值完了之后再:
comboBox1.SelectedIndexChanged += comboBox1_SelectedIndexChanged
百度网友115a69b
2013-09-09 · TA获得超过253个赞
知道小有建树答主
回答量:428
采纳率:50%
帮助的人:383万
展开全部
在执行DataSource的时候会执行SelectedIndexChanged事件.给combobox.SelectedIndex=-1时也会再执行SelectedIndexChanged事件
追问
那要怎么做才可以。。。。。
追答
你可以在你的PageLoad里面这样写:
comboBox1.DataSource =ds.Table[""]
....
comboBox1.SelectedIndex = -1;

comboBox1.SelectedIndexChanged += new EventHandler(comboBox1_SelectedIndexChanged);

然后把你的combobox在属性管理器中的事件删除掉就行了.
或者直接在你的Designer.cs文件中把这行代码删除掉.
this.comboBox1.SelectedIndexChanged += new System.EventHandler(this.comboBox1_SelectedIndexChanged_1);
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
jaypgcool
2013-09-09 · TA获得超过419个赞
知道小有建树答主
回答量:440
采纳率:0%
帮助的人:154万
展开全部
因为你绑定数据的时候也会处罚SelectedIndexChanged时间,你可以在该事件中加个判断,if(SelectedValue==null) return;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
为坚持感动
2013-09-09 · 超过22用户采纳过TA的回答
知道答主
回答量:203
采纳率:0%
帮助的人:70.7万
展开全部
你少绑定了一个ID。
更多追问追答
追问
求详情 新手 因为我想那个窗体一打开不弹框 但是他老是一打开就弹框
追答
你直接判断 comboBox1.text!="" 才进入 还有你少绑定一个ID
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式