我一直在努力使它起作用,但找不到为什么不能这样做。我首先有一个加载表单,该表单将初始化所有内容,然后该表单关闭并显示登录表单。用户名的文本框应该从配置文件中获取自动完成值。我可以获取所有值,并且它会显示在autocompletecustomsource中,但是当我对其进行测试时,文本框甚至在键入时也不显示建议。这是我用来将所有表单元素添加到表单的代码。我尝试过将其放在onload覆盖以及初始化方法中。
[STAThread]
private void AddControls()
{
Label lb;
TextBox tb;
Button btn;
lb = new Label()
{
AutoSize = true,
Left = 5,
Top = 5,
Text = "Username:",
Font = new Font(this.Font.FontFamily, 7, FontStyle.Italic)
};
this.Controls.Add(lb);
tb = new TextBox()
{
Left = lb.Left,
Top = lb.Bottom + 2,
Width = this.Width - 10,
Name = "user"
};
this.Controls.Add(tb);
AutoCompleteStringCollection ASC = new AutoCompleteStringCollection();
ASC.AddRange(_DataHandler.CFManager.GetConfigValue(BPConfig.CFGVal.Users).Split(';'));
tb.AutoCompleteMode = AutoCompleteMode.Suggest;
tb.AutoCompleteSource = AutoCompleteSource.CustomSource;
tb.AutoCompleteCustomSource = ASC;
}
答案 0 :(得分:0)
使用组合框 像TextBox => comboBox1.DropDownStyle = ComboBoxStyle.Simple
var list = new List<string>() { ... };
comboBox1.DataSource = list;
comboBox1.DropDownStyle = ComboBoxStyle.Simple;
comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;