获取combobox的text值,启动调试(f5)就会报错
但是我按开始执行不调试(ctrl+f5)就不会报错,弹出的对话框是获取的那个combobox的text的值,明显不是我想要的值,
求解,怎样才能消除这样的报错?
这个是COMBOBOX的通病! 在程序load的时候会调用COMBOBOX的SelectedIndexChanged事件,
解决方法一:先指定COMBOBOX的DisplayMember和ValueMember,然后再SelectedIndexChanged事件里面做判断.
解决方法二:在load中将ComboBox委托去掉, ComboBox1.SelectedIndexChanged -= new EventHandler(ComboBox1_SelectedIndexChanged);,在绑定ComboBox的DataSource后在注册。ComboBox1.SelectedIndexChanged += new EventHandler(ComboBox1_SelectedIndexChanged);
解决方法三:自行google
tank you,你的方法ok了,还有一种方法就是,用foreach循环来填充数据
ds = GetPhList(); foreach (DataRow item in ds.Tables[0].Rows) { cboOdPhId.Items.Add(item["phId"]); } this.cboOdPhId.SelectedIndex = 0;
sphId获取错误了。
主要是我启动调试就会报错,但是我开始执行不调试就不会报错。。
@sweetolive: 你修改为cboPhId.SeletedItem.Text看看~