2012-07-30 48 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这段代码是要工作!