2009-12-11 41 views
0

我有一個列表框&上面的文本框。我希望用戶能夠通過開始在文本框中輸入單詞的字母或單詞的一部分來搜索列表框。c#listbox搜索算法

什麼是最好的方式來編碼?最高效的?

一個例子會很棒。

回答

1

有無物品的originalList <>和resultList <>

.NET 2.0迭代通過在列表框和每個項目

if(yourString.Contains(<the textbox text>) 

添加到searcedList和列表綁定到resultList < >這會給你在列表框中文本與文本框搜索相匹配的所有結果。然後

能拿看中了一些正則表達式等來匹配全字,只說了句等開始

編輯 - 如果文本長度變爲零,或然後一些最小長度恢復到originalList < >

.NET 3.5使用Linq搜索並提取所有結果,可以通過文本框中的字符來排序。

只是我的2P,肯定會有一些更清潔的方法張貼。

0

在WinForms中,處理TextBox的TextChanged事件。這會給你當前的字符串,通過第一次匹配的ListBox項目循環。這裏不需要花哨的算法。

我假設'搜索'的意思是'選擇'。如果你的意思是「過濾器」,你需要第二個列表。

+0

我的意思是選擇... – 2009-12-11 16:29:04

+0

但你接受了一個過濾器的答案。 – 2009-12-11 17:15:07

0

如果列表綁定到列表,你可以做。找到合適的代表。