如何将自动完成模式合并到具有下拉列表形式的c#组合框中



我在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

在设置AutocompleteMode之前,应先设置AutoCompleteSourceComboBoxStyle。这意味着秩序很重要。

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

只需执行异常告诉您的操作:

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

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

应该是-

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

最新更新