为多行文本框问题创建自动完成
本文关键字:创建 问题 文本 | 更新日期: 2023-09-27 18:26:30
好吧,所以图像不工作,所以这是代码本身
private void textBox_KeyUp(object sender, KeyEventArgs e)
{
listBox1 = new ListBox();
Controls.Add(listBox1);
var x = textBox1.Left;
var y = textBox1.Top + textBox1.Height;
var width = textBox1.Width + 20;
const int height = 40;
listBox1.SetBounds(x, y, width, height);
listBox1.KeyDown += listBox1_SelectedIndexChanged;
List<string> localList = list.Where(z => z.StartsWidth(textBox1.Text)).toList();
if (localList.Any() && !string.IsNullOrEmpty(textBox1.Text))
{
listBox1.DataSource = localList;
listBox1.Show();
listBox1.Focus();
}
}
void listBox_SelectedIndexChanged(object sender, KeyEventArgs e)
{
if (e.KeyValue == (decimal)Keys.Enter)
{
textBox1.Text = ((ListBox)sender).SelectedItem.ToString();
listBox1.Hide();
}
}
我遇到了一些错误,不知道是否有人能帮助我。我正在使用这个问题的答案。感谢您的帮助。
当前的问题是:
listBox1.KeyDown+=listBox1_SelectedIndexChanged;
List localList=List.Where(z=>z.StartsWidth(textBox1.Text)).toList();
我的错误用粗体突出显示。
您没有任何方法listbox1_SelectedIndexChanged
。所以改变
listBox1_SelectedIndexChanged
至
listBox_SelectedIndexChanged
并且您已将列表加粗。它一定是你的某个对象的列表,但你没有给我们看。更改名称。
注意:复制时,请更改代码中定义的名称。