比如我现在让用户选择性别  
 
   打开界面的时候 上面文本是: --请选择-- 或者默认 男
我用ComboBox把属性DropDownStyle设为DropDownList后,界面还不让输入文本,打开界面的时候,上面空空的特难看。现在要做的是让用户只能选择,比且初始化的时候显示"--请选择--"
自己写了下代码不知道该怎么处理。
 public class ComboBoxEx : ComboBox
    {public override string Text
        {
            get
            {
                return base.Text;
            }
            set
            {
                if (DropDownStyle==ComboBoxStyle.DropDownList )
                {
                    if (this.Items.Contains(value))
                    {
                        this.SelectedText = value;//这里怎么处理呢?
                    }
                }
                else
                {
                    base.Text = value;
                }
              
            }
        }
  }望高手指点下。

解决方案 »

  1.   

    设置combox.selectindex=0;
    绑定数据前,第一个设置为请选择
      

  2.   

    自己添加一项“请选择”,然后初始化时把selectedindex=0
      

  3.   


    难道只能这样的吗,我用Text不能去控制吗?
      

  4.   

    楼上基本上可行 补充一个 如果是数据源绑定 给数据源构造一个“请选择” 使用selectedValue=? 
      

  5.   

    这样的不好啊,要是改变绑定的数据源,怎么弄,所以的就想用Text.
      

  6.   

    把ComboBox的DrawMode设置为OwnerDrawFixed,然后在DrawItem事件里用GDI自己画。
      

  7.   

    comboBox1.Items.Insert(0,object item);在数据库绑定后,在第一行插入“请选择”。然后设置 comboBox1.SelectedIndex=0;
      

  8.   

    comboBox1.SelectedItem = text;
      

  9.   


      if (this.Items.Contains(value))
      {
         this.SelectedItem= value;//用SelectedItem就行了
       }
      

  10.   

    dropdownlist.Items.Insert(0,new ListItem("==请选择==",""));
      

  11.   

    用SelectedText或SelectIndex来限制就可以了。