怎样在WinForm 程序中使Combobox控件,可以由用户自己输入值(与下拉列表里的只不一定相同)?

时间:2021-10-23 20:14:05
怎样在WinForm 程序中使Combobox控件,可以由用户自己输入值(与下拉列表里的只不一定相同)?
需要对Combobox控件进行怎样的设置啊!
请教各位大侠一下!!

18 个解决方案

#1


 comboBox1.DropDownStyle = ComboBoxStyle.DropDown;

不就是你要的吗?这个好象是默认的啊

#2


comboBox1.DropDownStyle = ComboBoxStyle.DropDown;

#3


你是要
ComboBox输入文字的自动完成 
还是把用户的输入变为新的下拉项?

#4


楼上两位的正解,设置了这个属性后就可以输入内容了,但是好像读取的时候需要用comboBox1.Text来读取,输入的值好像不作为comboBox的item

#5


/// <summary>
        /// Add user input to dropdownlist on {enter} key strokes
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void comboBox1_KeyUp(object sender, KeyEventArgs e)
        {
            if(e.KeyCode == Keys.Enter) {
                comboBox1.Items.Add(comboBox1.Text);
                comboBox1.Text = "";
                comboBox1.DroppedDown = true;
            }
        }

#6


学习  帮顶

#7


5楼的不错。 学习了

#8


我想要的效果是:  加入下拉框里有1,2,3三个选项,我数入4,4就直接显示在文本框里,不需要加到下拉框里去,而此时若是选择了希
下拉框的选项就回将用户输入的覆盖!

我想要的是这个效果啊!

#9


我用comboBox1.DropDownStyle = ComboBoxStyle.DropDow
这个设置时,只能输入下拉框里已有的选项啊!

#10


学习

#11


知道楼主的意思了
那个使用AutoCompleteSource + AutoCompleteMode

#12


不会呀,你要的这个效果combobox默认就是这样的呀,什么都不用设置的

#13


你新建一个项目,加入一个combobox,在items里面加上1,2,3,运行后不能输入4吗?

#14


private void comboBox1_KeyUp(object sender, KeyEventArgs e)
        {
            if(e.KeyCode == Keys.Enter) {
                comboBox1.Items.Add(comboBox1.Text);
                comboBox1.Text = "";
                comboBox1.DroppedDown = true;
            }
        }

#15


我试了了一下 在新建一个程序就那样设可以实现效果,但在原来那程序里就不行

#16


我试了了一下 在新建一个程序就那样设可以实现效果,但在原来那程序里就不行

#17


comboBox一个一个研究其属性,可使你得到的更多

#18


找出问题处在那了 ,谢谢各位大侠给予的帮助。

#1


 comboBox1.DropDownStyle = ComboBoxStyle.DropDown;

不就是你要的吗?这个好象是默认的啊

#2


comboBox1.DropDownStyle = ComboBoxStyle.DropDown;

#3


你是要
ComboBox输入文字的自动完成 
还是把用户的输入变为新的下拉项?

#4


楼上两位的正解,设置了这个属性后就可以输入内容了,但是好像读取的时候需要用comboBox1.Text来读取,输入的值好像不作为comboBox的item

#5


/// <summary>
        /// Add user input to dropdownlist on {enter} key strokes
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void comboBox1_KeyUp(object sender, KeyEventArgs e)
        {
            if(e.KeyCode == Keys.Enter) {
                comboBox1.Items.Add(comboBox1.Text);
                comboBox1.Text = "";
                comboBox1.DroppedDown = true;
            }
        }

#6


学习  帮顶

#7


5楼的不错。 学习了

#8


我想要的效果是:  加入下拉框里有1,2,3三个选项,我数入4,4就直接显示在文本框里,不需要加到下拉框里去,而此时若是选择了希
下拉框的选项就回将用户输入的覆盖!

我想要的是这个效果啊!

#9


我用comboBox1.DropDownStyle = ComboBoxStyle.DropDow
这个设置时,只能输入下拉框里已有的选项啊!

#10


学习

#11


知道楼主的意思了
那个使用AutoCompleteSource + AutoCompleteMode

#12


不会呀,你要的这个效果combobox默认就是这样的呀,什么都不用设置的

#13


你新建一个项目,加入一个combobox,在items里面加上1,2,3,运行后不能输入4吗?

#14


private void comboBox1_KeyUp(object sender, KeyEventArgs e)
        {
            if(e.KeyCode == Keys.Enter) {
                comboBox1.Items.Add(comboBox1.Text);
                comboBox1.Text = "";
                comboBox1.DroppedDown = true;
            }
        }

#15


我试了了一下 在新建一个程序就那样设可以实现效果,但在原来那程序里就不行

#16


我试了了一下 在新建一个程序就那样设可以实现效果,但在原来那程序里就不行

#17


comboBox一个一个研究其属性,可使你得到的更多

#18


找出问题处在那了 ,谢谢各位大侠给予的帮助。