combox中有许多选项,并且控件可以输入,我想让输入的值和选项值一致,如果不一致的话给出警告。请问要如何实现。一定要保证combox能够输入值。不让输入只能下拉的能做出来。谢谢

解决方案 »

  1.   

            private void comboBox1_TextChanged(object sender, EventArgs e)
            {
                bool ishave = false;
                foreach (object str in comboBox1.Items)
                {
                    if (!str.ToString().StartsWith(this.comboBox1.Text.Substring(0, 1)))
                    {
                        ishave = false;
                    }
                    else
                    {
                        if (str.ToString().Contains(this.comboBox1.Text))
                        {
                            ishave = true;
                            break;
                        }
                        else
                        {
                            ishave = false;
                        }
                    }               
                }
                if (!ishave)
                {
                    MessageBox.Show("不匹配");
                }
            }
      

  2.   

    楼上正解,就是给Combox增加一个事件监听
      

  3.   

    comboBox1.Items.IndexOf判断是存在
      

  4.   

    comboBox1_TextChanged遍历Items,判断有没有item包含输入的字符
      

  5.   

    还是要再请教一下2楼的
    为什么对于combox中如果绑定数据库,这个代码就不好用,要是不用数据库而是自己制定选项,这个代码就能运行,兄弟新学c#好多东西不懂,还希望能多多指教
      

  6.   

    textbox 联想功能视乎更合适
      

  7.   

    textbox和combox都有autocompletsource这个东西,你可以百度下
      

  8.   

    也可以考虑在keyPress判断,是回车键时,用comboBox1.Items.IndexOf判断