combobox总是选中下拉表中的第一条,怎么让他不选中任何项?

cloud1121 2002-08-14 02:01:10
up
...全文
1518 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
sheep2002 2002-08-15
  • 打赏
  • 举报
回复
好奇怪阿?

你确认在
comboBox1.Text="";
或comboBox1.SelectedIndex=-1;
或comboBox1.SelectedItem=null;
没有其他任何代码,改变comboBox1????

你单步调试一下,监视comboBox1.Text,看看他什么时候被附值。
cloud1121 2002-08-15
  • 打赏
  • 举报
回复
各位老大,你们的方法我都试过了,combobox是下拉框带输入的,还是不行,form一打开combobox的文本框部分就显示下拉框里面第一条的内容。。
sheep2002 2002-08-15
  • 打赏
  • 举报
回复
你的DropDownStyle设为DropDownList,对吧,

这样做:
comboBox1.SelectedItem=null;
netspy 2002-08-15
  • 打赏
  • 举报
回复
这样:

//绑定后
comboBox1.SelectedItem.Selected = false;
hbxtx 2002-08-15
  • 打赏
  • 举报
回复

在此处绑定
//绑定完成后
DropDownList1.Items.Add("");
DropDownList1.SelectedIndex=DropDownList1.Items.Count-1;
cloud1121 2002-08-15
  • 打赏
  • 举报
回复
气死我了,还是不行,把代码贴出来
private void intl()
{
DataView r_1=code.dv("select ysh from ysb");
comboBox1.DataSource=r_1;
comboBox1.DisplayMember="ysh";
comboBox1.ValueMember="ysh";
DataView r_2=code.dv("select fjh from fjxx where fjh not in (select fjh from ysb where fjh<>'')");
comboBox2.DataSource=r_2;
comboBox2.DisplayMember="fjh";
comboBox2.ValueMember="fjh";
textBox1.Text=code.getdate(3);
textBox2.Text=code.getdate(3);
comboBox1.Focus();
}

private void khdj_Load(object sender, System.EventArgs e)
{
intl();
textBox3.Text="";
comboBox1.Text="";
//comboBox1.SelectedIndex=-1;
}
sheep2002 2002-08-15
  • 打赏
  • 举报
回复
你到其他机器上试一试,看看是不是你的机器有问题。
combobox1.text="";
虽然在监视时没让值为空,但在我机器上最终确实显示为空,

研究中。。。。。
cloud1121 2002-08-15
  • 打赏
  • 举报
回复
对了,使combobox1.text为空的不是combobox1.text=""这句没起作用
是comboBox1.SelectedItem=null让值为空的。
cloud1121 2002-08-15
  • 打赏
  • 举报
回复
直到显示出来跟踪都显示值为空,但显出来的结果却有。我把和显示有关的
方法基本都试了,什么Refresh()这些都没用,我有点怀疑是我机器的问题
了。sheep2002(sheep2002)谢谢你了!
sheep2002 2002-08-15
  • 打赏
  • 举报
回复
我的头也大了。。。。。

你单步调试时,没发现什么时候comboBox1.Text被该了回去?

你是不是对comboBox1作了什么奇怪的设置?
你用一个全是默认设置的comboBox试一试。

你新建一个项目,只包含如下代码:
private void Form1_Load(object sender, System.EventArgs e)
{
sqlDataAdapter1.Fill(dataSet11);
comboBox1.DataSource=dataSet11.Tables[0];
comboBox1.DisplayMember="id";
comboBox1.ValueMember="id";
comboBox1.SelectedIndex=-1;
}
看看好不好用,若不好用,则说明你的编译器有问题。
cloud1121 2002-08-15
  • 打赏
  • 举报
回复
监视过combobox1.text的值了真的是怪,数据绑定后被赋值,但在
comboBox1.Text=""语句后值的确是为空了,但最后显示出来的仍然
有值,头大了。。。。。
sheep2002 2002-08-14
  • 打赏
  • 举报
回复
winform
在form_load事件最后
即comboBox1绑定完后

comboBox1.Text="";
好使阿,
我以测试过了。
sheep2002 2002-08-14
  • 打赏
  • 举报
回复
winform
怎么有
PAGELOAD事件
????
cloud1121 2002-08-14
  • 打赏
  • 举报
回复
再说一下,不是ASP.net的程序,是winform的
baitianhai 2002-08-14
  • 打赏
  • 举报
回复
这个好像没有办法了吧!
cloud1121 2002-08-14
  • 打赏
  • 举报
回复
有没有更好的办法啊?加个空项进去会有些麻烦的。
hbxtx 2002-08-14
  • 打赏
  • 举报
回复
你可以这样:在绑定完以后再加一空字符串
ComboBox.items.add("");
comboBox.selectindex=??; ??为增加行的索号
cloud1121 2002-08-14
  • 打赏
  • 举报
回复
数据绑定写在PAGELOAD事件里,combobox.text=""没作用啊。
sheep2002 2002-08-14
  • 打赏
  • 举报
回复
comboBox1.Text="";
cloud1121 2002-08-14
  • 打赏
  • 举报
回复
up!

111,131

社区成员

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

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

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