我有一个文本框,我可以在其中使用自动完成功能。例如,如果 use 键入起始字符,则会显示一个带有选项的下拉列表。这就是我目前正在使用以下代码所做的事情:
inputTextBox.AutoCompleteMode = AutoCompleteMode.Suggest;
inputTextBox.AutoCompleteSource = AutoCompleteSource.CustomSource;
inputTextBox.AutoCompleteCustomSource = inputStringCollection; //inputStringCollection contains the list of possible strings
我需要的:
我希望能够使用此文本框搜索多种类型的数据(例如全名、用户名、电子邮件、电话号码等)。例如,客户具有他的全名、系统中的用户名、电话号码列表、电子邮件列表等属性。现在,我为每个属性设置了单独的文本框,但我想将它们全部合并合而为一。所以我的想法是我应该能够在同一个文本框中搜索所有类型的属性。
问题:
我想到的一种可能的实现是为每种类型的属性创建单独的字符串集合,然后将它们全部合并为一个,然后将该合并的字符串集合附加到此文本框。这种方法的问题是我无法处理重复项。假设有一个人的名字和用户名都是“约翰”。在这种情况下,我不知道从下拉列表中选择了哪种类型的属性。
问题:
是否可以将除字符串集合之外的其他内容附加到文本框的自动完成机制?也许我可以有一个存储自定义数据结构对象的 Arraylist,每个对象都定义了几个值,例如 ID、属性类型等。或者类似的东西?这样,当用户从下拉列表中选择一个条目时,我可以知道用户选择的属性类型。