Windows Form 2.0 自動完成

來源:互聯網
上載者:User
 

 

使用過IE的人應該對自動完成並不陌生,它可以協助使用者快速輸入曾經輸入過的內容,

圖表 1 IE的自動完成

 

這個是在網頁上的過去有人問過,“自動完成在Windows Form 中是否可行?”答案在.NET Framework 1.x 中沒有此公能,需要使用者自行開發。在.NET Framework 2.0 中已經內建了此功能,本文介紹.Net Framework 2.0 的Windows Form 自動完成。

 

自動完成屬性:

Windows Form 中的TextBox、ComboBox…等文字框類的控制項支援自動完成屬性,通過這些屬性的制定,可以指定自動完成功能的不同形式:

 

AutoCompleteMode屬性

       指定自動完成的形式,可以設定None、Suggest、Append、SuggestAppend幾種形式。預設值是None,不使用自動完成模式。設定為Append模式時,會在輸入後自動將資料來源中的文字加入到方框中。(圖2)設定為SuggestAppend模式時,不會自動補齊資料,而是彈出列表供使用者選擇(圖3)

圖表 2    Append                                                           圖表 3SuggestAppend

 

 

 

 

 

AutoCompleteSource屬性:

設定自動完成資料的來源。可以設定None、AllSystemSource、AllUrl、CustomSource、FileSystem、FileSystemDirectories、FileSystem、FileSystemDirectories、HistoryList、RecentlyUsedList等多項。

 

AutoCompleteCustomSource屬性

當AutoCompleteSource的屬性設定為CustomSource時,可以用此屬性自訂自動完成字串。

 

 

自定來源

       為了應付更多非文檔或Url的要求,AutoCompleteSource 屬性提供CustomSource選項讓開發人員可以透過AutoCompleteCustomSource屬性指定更多資料來源以便符合更多類型的需要。

 

AutoCompleteCustomSource屬性是AutoCompleteStringCollection的形態,支援Add和AddRange等方法以加入需要的字串,如例:

VB.Net

Dim member() As String = {“one”,”two”}

TextBox2.AutoCompleteCustomSource.AddRange(member)

 

新輸入的資料不會加入自動完成清單的解決方案

需要使用Add()方法,系統不會自動加入

 

結束程式,再啟動,以前的自動完成清單不見了?

       程式結束後再啟動,你會發現先前所加入的清單不見了?沒錯,那是因為之前的資料(自動完成的字串集合)只保留在記憶體中,當應用程式結束後,記憶體中的資料也隨之消失,解決方案是將記憶體中的資料存檔,方法當然有很多了。可以使用FileStream  StreamWriter 等,在這裡,我推薦使用Windows應用程式設定的功能(就是App.Config)設定中有專門的AutoCompleteStringCollection類型可以供存貯,關於方法大家可以查閱MSDN的資料在這裡我就不再廢話了。

 

結束語

Windows Form 在 .Net 2.0中終於有了自動完成功能,這個功能可以套用到TextBox及ComboBox等文字輸入類的控制項,配合應用程式的設定檔,可以達到更完整的功能。

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.