2016-11-18 122 views

回答

0

首先創建AutoCompleteStringCollection使用數組添加自己的建議。將此集合設置爲文本框AutoCompleteCustomSource。使用此示例。您也可以使用TextChanged事件並從Db中獲取集合,例如text.StartWith(「textBoxValue」)。

使用AutoCompleteCustomSource,AutoCompleteMode和AutoCompleteSource屬性來創建一個文本框通過比較前綴被輸入到在保持source.This所有字符串的前綴自動完成的輸入字符串爲文本框控件有用,其中網址,地址,文件名或命令將經常輸入。

這裏MSDN doc

AutoCompleteStringCollection autoCollection= new AutoCompleteStringCollection(); 

private void Form1_Load(object sender, EventArgs e) 
    { 
      textBox1.AutoCompleteCustomSource = autoCollection; 
      txtBox1.AutoCompleteMode = AutoCompleteMode.Suggest; 
      txtBox1.AutoCompleteSource = AutoCompleteSource.CustomSource; 
    } 

private void textBox1_TextChanged(object sender, EventArgs e) 
    { 

     if (textBox1.Text.Lenght > 2) 
     { 

       autoCollection = yourCollectionFromDB(textBox1.Text) 
       txtBox1.AutoCompleteCustomSource = autoCollection; 
     } 
    } 
+0

肯定的,但在這種情況下,我必須加載在我的程序開始的所有數據,並填補了數組。但我的意思是加載結果表明動態性。例如:用戶開始鍵入並從數據庫中僅選擇10個頂部行。可能嗎? – user1912372