winforms 如何将自动完成模式加入到具有下拉列表样式的c#组合框中?

hrirmatl  于 2023-03-13  发布在  C#
关注(0)|答案(3)|浏览(115)

我有一个c#的组合框,我想把自动完成功能包含进去。我不能改变DropDownStyle到任何东西,但DropDownList模式。但当我改变以下属性时,它给了我一个例外。
symbol1_textbox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList; symbol1_textbox.AutoCompleteMode = AutoCompleteMode.SuggestAppend; symbol1_textbox.AutoCompleteSource = AutoCompleteSource.CustomSource;
不支持异常
当DropDownStyle为ComboBoxStyle.DropDownList并且AutoCompleteSource不是AutoCompleteSource.ListItems时,只能使用值AutoCompleteMode.None。

8hhllhi2

8hhllhi21#

您应该在设置AutocompleteMode之前设置AutoCompleteSourceComboBoxStyle,这意味着顺序很重要。

cmb.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
cmb.AutoCompleteSource = AutoCompleteSource.ListItems;
cmb.AutoCompleteMode = AutoCompleteMode.SuggestAppend;            
cmb.DataSource = nameList;
5t7ly7z5

5t7ly7z52#

按照异常告诉你的去做:

symbol1_textbox.DropDownStyle = System.Windows.Forms.ComboBoxStyle.DropDownList;
 symbol1_textbox.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
 symbol1_textbox.AutoCompleteSource = AutoCompleteSource.ListItems; 
 symbol1_textbox.DataSource = symbol1_list;

然后用您需要的所有项目填充“项目

34gzjxbg

34gzjxbg3#

应该是-

comboBox.DropDownStyle = ComboBoxStyle.DropDown;
comboBox.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox.AutoCompleteSource = AutoCompleteSource.ListItems;

相关问题