c#TextBox輸入框自動提示、自動完成、自動補全功能
功能概覽
相關屬性
TextBox.AutoCompleteCustomSource 屬性
獲取或設定當 TextBox.AutoCompleteSource 屬性設定為 [CustomSource] 時要使用的自定義 T:System.Collections.Specialized.StringCollection。
TextBox.AutoCompleteMode 屬性
獲取或設定一個選項,該選項控制自動完成應用於 TextBox 的方式。
屬性值
型別:System.Windows.Forms.AutoCompleteMode
AutoCompleteMode 值之一。 以下為這些值。
Append
將最可能的候選字串的其餘部分追加到現有的字元,並突出顯示追加的字元。
Suggest
顯示與編輯控制元件關聯的輔助下拉列表。 此下拉列表填充了一個或多個建議完成字串。
SuggestAppend
追加 Suggest 和 Append 選項。
None
禁用自動完成 這是預設值。
TextBox.AutoCompleteSource 屬性
獲取或設定一個值,該值指定用於自動完成的完整字串的源。
備註
使用 AutoCompleteCustomSource、AutoCompleteMode 和 AutoCompleteSource 屬性可以建立一個 TextBox,它通過將所輸入的字首與所維護的源中的所有字串的字首進行比較來自動完成輸入字串。 這對於頻繁地有 URL、地址、檔名或命令輸入其中的 TextBox 控制元件來說很有用。
AutoCompleteCustomSource 屬性的使用是可選的,但必須將 AutoCompleteSource 屬性設定為 CustomSource 後才能使用 AutoCompleteCustomSource。
AutoCompleteMode 和 AutoCompleteSource 屬性必須一起使用。
示例程式碼
下面的程式碼示例演示如何使用作為 TextBox 控制元件的自動完成自定義源的集合。
此示例將執行下列操作:
使用 AutoCompleteSource 屬性使 TextBox 控制元件能夠接受其自動完成行為的自定義源。
使用 AutoCompleteCustomSource 屬性設定值的自定義列表。
使用 AutoCompleteMode 屬性設定自動完成候選人的顯示方式。
private void Form1_Load(object sender, EventArgs e)
{
var source = new AutoCompleteStringCollection();
source.AddRange(new string[]
{
"January",
"February",
"March",
"April",
"May",
"June",
"July",
"August",
"September",
"October",
"November",
"December"
});
textBox1.AutoCompleteCustomSource = source;
textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
}