需要一些帮助添加过滤器,以我的ComboBox
下拉列表(Windows窗体的Visual Studio 2015年)C#中添加过滤器,以组合框下拉列表
下拉填充按如下:
public ReconciliationReport()
{
InitializeComponent();
AppDomain.CurrentDomain.AssemblyResolve += FindDLL;
this.sRootDirectory = Properties.Resources.sRootDirectory;
string[] arrProjectList = Directory.GetDirectories(sRootDirectory).Select(Directory => Path.GetFileName(Directory)).ToArray();
Array.Sort(arrProjectList);
int iProjectCount = arrProjectList.Length;
this.DropDownListSize = iProjectCount;
for (int i = 0; i < iProjectCount; i++)
{
SelectJobDropdown.Items.Add(arrProjectList[i]);
}
}
现在,我需要添加一个文件管理器只显示包含键入到ComboBox
本身,无论文本,如果下拉列表本身是开放与否的项目。
我已经禁用了AutoCompleteMode
和AutoCompleteSource
,因为它没有像预期的那样打开下拉菜单。这是在现有的顶级开放附加列表,但我只能从下拉列表中选择。请参阅下面的打印屏幕:
顶部列表处于非活动状态,我无法选择文本,但也没有显示子字符串的选项。
只有一个,即使是盒子本身是
private void SelectJobDropdown_SelectedIndexChanged(object sender, EventArgs e)
{
//Plenty of code here
}
在正确的方向如何,因为我箱子本身式过滤器列表中有人点可。
请注意,我一直在使用C#只3周所以可能会混淆一些术语或这种语言等
甚至没有单个评论或答复? –
[WinForms ComboBox DropDown和Autocomplete窗口都出现]的可能重复(http://stackoverflow.com/questions/3064780/winforms-combobox-dropdown-and-autocomplete-window-both-appear) – Lucifer
这不是重复的。我有不同的要求可悲。我不想在我输入时显示新列表。我想将主列表过滤为类型。此解决方案必须搜索组合框内的任何文本,而不仅仅是起始字符。您建议的解决方案包括附加列表,不允许在一个项目中搜索任何字符串。因此,例如,如果项目包含99999 Hello World,我希望能够通过键入项目中的任何单词而不仅仅是99999来显示匹配的行。希望这是有道理的。 –