我想使用csharp在Windows窗体上创建一个Facebook风格的动态下拉菜单。 知道如何实现它?
可以使用TextChanged文本框事件,但我不知道如何将其可视化。
对于那些不使用facebook的人,这里是描述。 通常没有下拉菜单,但是当您开始输入时,它会自动显示您的名字匹配的朋友,并且一旦文本被更改,它就会更新下拉菜单的内容。
注意:如果有帮助,也可以使用devexpress工具。
感谢和安培;此致 -AFgone
答案 0 :(得分:1)
只需使用文本框和组合框。从组合框不可见开始,显示在文本框的顶部。输入文本后,立即显示组合框并将焦点设置为它。一些示例代码:
public partial class Form1 : Form {
public Form1() {
InitializeComponent();
comboBox1.Visible = false;
comboBox1.Size = textBox1.Size;
comboBox1.Location = textBox1.Location;
}
private void textBox1_TextChanged(object sender, EventArgs e) {
if (textBox1.Text.Length > 0) {
comboBox1.Text = textBox1.Text;
comboBox1.Visible = true;
comboBox1.Focus();
textBox1.Enabled = false;
// todo: fill combo
}
}
private void comboBox1_Leave(object sender, EventArgs e) {
comboBox1.Visible = false;
textBox1.Text = "";
textBox1.Enabled = true;
}
}