comboBox1里面item里添加的是一个类对象,不是具体的值,现要
comboBox1.SelectedItem ="22"PS:22是这个类对象里的一个值.明明看到了有这个值,但就是选不中
有什么办法吗? 在线等啊, 谢谢了~~  

解决方案 »

  1.   

    comboBox1.Items.Add("22");  // 添加
    comboBox1.SelectIndex = comboBox1.Items.IndexOf("22");  // 选则
      

  2.   

    for(int i=0;i<comboBox1.Items.Count;i++)
     if(comboBox1.Items[i].Value == 类的.属性值)
         comboBox1.Items[i].Selected = True;
      

  3.   

    comboBox1.SelectedItem返回的类型是一个object。将它转换为你定义的类对象。然后查看类对象对应值为22的那个项目,将它赋给selectedItem
    大概代码可以这么写
    class selected = new class ()
    foreach(class item in comboBox1.items)
    {
       if(item.A = “22”)
        {
             selected  =item;
             break;
         }
    }
    comboBox1.SelectedItem  = selected  ;
      

  4.   

    this.comboBox1.SelectedValue=22
    item里添加的是一个类对象是一个怎么样的对象?
      

  5.   

    comboBox1.SelectedItem 请看他是啥,他是object而其内部判定是啥---是object.Equals(object objectA,object objectB);所以请保证你等号两边类型Type一致
      

  6.   

    很简单,如果列表中有22,直接:
    comboBox1.Text="22" 
      

  7.   

    下拉框存对象!~!??
    这样也可以啊!~!我记得是不可以存对象的吧!~!
    楼主认为这个很现实吗?
    既然你想取那个22的话,
    那你的下拉框的每一个项就是你的那个22对应的属性就好了啊!~!
    如果万一要存对象的话也不是不可以!~!
    你重写你的实体类的toString方法,返回这个实体类的每一个属性的拼接字符串,加入用","分隔吧!~
    这样也可以存对象!~你取的时候就去到整个字符串,然后按照","打散,然后还原成对象!~!
    但是经常都不会这么用的!~!下拉框存对象无非就是想得到整个对象,这样用不如再去查一次!~
    楼主自己掂量吧
      

  8.   

    先判断comboBox1中是否有值对应对象,有绑定
    comboBox1.SelectedItem=属性值
      

  9.   

    楼主的这句话 
    comboBox1里面item里添加的是一个类对象,不是具体的值, 
    什么意思?什么样的对象?String?Student?
    你那样用String的话没问题
    用Student会在选项中添加上类名的
      

  10.   

    呵呵,我不得不承认,我是个大SB~~~     我从来没做过winform程序,
    结贴了,谢谢大家~~~
      

  11.   

    【lonely7345】正解;
    或者楼主为添加的类对象实现一个构造函数,如public ObjAA(string val){...},然后这样也行:
    comboBox.SelectedItem=new ObjAA("22");
    不过这种思路不好,效率也不咋地。