2009-10-08 69 views
2

我正在尋找類似於此處討論的解決方案,但對於C#WinForms。 Link hereC#中的自動完成電子郵件地址和/或姓名

要改寫,是否有可能在C#中使用包含多行的單個數據源進行文本框自動完成?結果應該像創建電子郵件中的Gmail TO:字段,或類似MS Outlook的TO:字段。

例如,數據集可能是:
「約翰·威廉姆斯」([email protected]
「鮑勃·約翰遜」([email protected]
「威利·約翰斯頓」( [email protected]
「威利·威廉姆斯」([email protected]

...我應該能夠輸入「約翰」和所有四個將建議。如果我輸入「johns」,則會建議第二個和第三個條目。

這比默認情況下由.NET提供的自動完成更高級。

感謝, -Greg

+0

您想要每個編輯控件或多個項目的單個地址? – 2009-10-08 19:29:07

+0

可能的重複:http://stackoverflow.com/questions/796195/c-autocomplete – 2009-10-08 19:31:18

+0

您需要指定WinForms或ASP.NET;解決方案是非常不同的。 – technophile 2009-10-08 19:57:03

回答

3

我結束了寫我自己的用戶控件自定義類來照顧這。它沒有出現任何滿足我需求的東西。

我提供的源和DLL這裏下BSD: http://code.google.com/p/email-autocomplete

基本上,它模擬的「To:」的功能在Gmail,但當然在.NET中的複選框。

3

的的WinForms 2.0控件已經提供在AutoCompleteSource屬性此功能。您可以將其設置爲數據源或使用AutoCompleteStringCollection構建您自己的字符串列表。

+0

澄清了預期行爲的問題。 .NET 2.0控件不符合這個標準。 – greg7gkb 2009-10-09 20:46:11

0

在控件(例如TextBox)屬性選項卡中,打開行爲部分並將AutoCompleteType設置爲需要的值。你可以通過編程來完成。爲了您的控件(例如文本框TextBox1中)調用AutoCompleteType類型和初始化值(例如 TextBox1.AutoCompleteType = AutoCompleteType.Email;)

相關問題