2012-07-30 90 views
1

我有我添加了一個Textbox並設置AutoCompleteSource屬性Windows應用程序...問題在C#中有關自動完成文本框

  txt.AutoCompleteMode = AutoCompleteMode.Suggest; 
      txt.AutoCompleteSource = AutoCompleteSource.CustomSource; 
      txt.AutoCompleteCustomSource = collection; 

我從數據庫中設置收集數據..

然而當用戶選擇從Textbox下拉列表中的一些文本..並點擊選項卡移動到其他文本框或控件..沒有任何反應..我的意思是選項卡鍵不起作用和Textbox不會失去它的focus(),爲什麼?什麼是解決方案?

+0

您是否嘗試過用戶輸入密鑰或鼠標單擊而不是TAB? – 2012-07-30 13:18:42

+0

沒有。但是如果用戶想要使用TAB移動到其他控件呢? – 2012-07-30 13:20:24

+0

如果你有一個下拉控件可見並點擊標籤,我想它應該移動到下拉列表中的下一個項目 – 2012-07-30 13:24:21

回答

0

它應該轉到下一個控件 - 除非您在任何textBox1的事件中指定了一些代碼。我只是檢查wtih這個代碼,它的工作,它關係到一個控件按Tab鍵:

public partial class Form1 : Form 
{ 
    public Form1() 
    { 
     InitializeComponent(); 
     string[] array = { "aaa", "abc", "acc", "aac", "acc", "bcc", "cbb", "bbb" }; 
     //upper line iy my custom array, you get it from database 
     AutoCompleteStringCollection autoComplete = new AutoCompleteStringCollection(); 
     autoComplete.AddRange(array); 
     textBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend; 
     textBox1.AutoCompleteSource = AutoCompleteSource.CustomSource; 
     textBox1.AutoCompleteCustomSource = autoComplete; 

    } 

    private void button1_Click(object sender, EventArgs e) 
    { 
     //you can use this event to get some data: 
     string item = textBox1.Text.Trim(); 
    } 
} 

如果只涉及到的textBox這段代碼是要工作!