上面至所以用到绑定而不用combobox.item.add,主要是想取文本描述背后的ID值。

解决方案 »

  1.   

    combobox.selectindex=0
    第一项被选择
      

  2.   

    楼上说的正确,应该就是设置下electIndex属性就可以了
      

  3.   

    我就是因为出现以下错误才跑到这里问的,是不是还有哪里没有设置好.
    System.ArgumentOutOfRangeException: InvalidArgument=“0”的值对于“SelectedIndex”无效。
    注:里面有5条数据
      

  4.   

    这说明你的combobox没有绑定数据
      

  5.   

    看看你的代码,是不是在没有把数据给添加的时候,就去设置它的selectIndex了。
      

  6.   

    dt表的值是从数据库中读入的(一定有五条数据,不要怀疑)
    tscb.ComboBox.DataSource = dt;
    tscb.ComboBox.DisplayMember = "name";
    tscb.ComboBox.ValueMember = "id";
    tscb.comboBox.SelectedIndex=0; 这里出错
      

  7.   

    这个我不怀疑,我怀疑的是你的ComboBox里面有几条数据。
    你看看.items.count是几?
      

  8.   

    所以我建议你把你想要看到用combox.items.add来增加你要字段,这样就没有问题了。
      

  9.   

    DT表,两个字段ID和Name,
    数值分别为:
    17,李一
    28,张三
    91,沈学
    56,红军
    20,白飞
    上面五条记录,在选择"沈学"这个人的时候,我其实要91这个ID号做别的事,
    如果用.item.add怎么做,也就是怎么写进去,再读出来??????
      

  10.   

    你可以做这样一件事情,你把数据保存在本地的一个DataTable中。
    在这个DataTable中有两个字段ID和Name, 
    数值分别为: 
    17,李一 
    28,张三 
    91,沈学 
    56,红军 
    20,白飞 
    其中你把Name做为一个Key.
    当你在combox中选择了一个的时候,你把名字做为一个key,找出相应的ID就可以了。
    然后把这个ID拿出来用就可以了。 
      

  11.   

    呵呵,其实数据绑定也是存了很多的东西的。
    还有我在vs2008中没有看到toolstrip中的combox的dataBinding功能。
      

  12.   

    可以绑定的,楼主先确定你的DT里面是不是有值
    也就是说,你这边datatable 里面要确定已经有获得数据
    然后这边name 和 id 要是你select数据里面的列名一致
    tscb.ComboBox.DataSource = dt; 
    tscb.ComboBox.DisplayMember = "name"; 
    tscb.ComboBox.ValueMember = "id"; 这样的话,这边就可以用tscb.ComboBox.SelectedIndex = 0;来设置了.
      

  13.   

    或者这边直接用
    tscb.ComboBox.DataSource = dt; 
    tscb.ComboBox.DisplayMember = dt.Columns[1].ColumnName;
    tscb.ComboBox.ValueMember = dt.Columns[0].ColumnName;
    来设置看看
      

  14.   


    数据一定存在的,不是这个原因,可能微软本身功能没有达到吧,每一个属性我都看了,好像没有找到刷新绑定的.顺便我提供一种现象让你们参考一下:
    在我数据绑定后,不要用tscb.combobox.selectedindex,因为用了会出错.
    但是当界面出来后,在tscb中可以看到5条记录,第一条自动是默认的.
    这时候你再用tscb.ComboBox.SelectedIndex这个就可以了,