2012年7月1日 星期日

C# 文字控制項-自動完成輸入功能

C#的自動完成功能提供了當使用者在文字方塊中輸入的資料符合條件時
便會自動填入或彈出符合的字串以提升使用者輸入資料的效率

TextBox或ComboBox 中的三個屬性須注意:
AutoCompleteSource、AutoCompleteMode、AutoCompleteCustomSource



AutoCompleteSource的常用屬性值包括

1.HistoryList - 以URL中的歷史清單作為自動完成輸入功能的來源
   ex:textBox1.AutoCompleteSource = AutoCompleteSource.HistoryList;
   程式碼部分以下類推

2.RecentlyUsedList - 以URL中的歷史清單和最近瀏覽過的URL為來源

3.AllUrl - 以最近瀏覽過的URL作為自動完成輸入功能的來源

4.FileSystem - 以檔案系統為來源

5.FileSystemDirectories - 以磁碟和目錄為來源,不包括檔案

6.AllSystemSources - 以AllUrl和FileSystem為來源

7.None - 取消自動完成輸入功能來源

8.CustomSource - 自訂來源,須搭配AutoCompleteCustomSource屬性設定



AutoCompleteMode常用屬性

1.Append - 將最可能相符之候選字串其餘部分附加到現有字串之後,並反白顯示
   ex:textBox1.AutoCompleteMode = AutoCompleteMode.Append;

2.Suggest - 挑選出最符合的字串於下拉選單的選項中

3.SuggestAppend - 混用上述兩種功能

4.None - 停用自動完成輸入功能


AutoCompleteCustomSource屬性

除了直接在Widget屬性介面上設計外
也可以用程式碼部分撰寫,如:

string[] content = new string[]{"a","b","c"};
AutoCompleteStringCollection newAdd = new AutoCompleteStringCollection();
newAdd.AddRange(content);

textBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
textBox1.AutoCompleteCustomSource = newAdd;

沒有留言:

張貼留言