Windows窗体上的Facebook样式动态下拉菜单

时间:2011-09-27 14:03:54

标签: c# winforms .net-4.0

我想使用csharp在Windows窗体上创建一个Facebook风格的动态下拉菜单。 知道如何实现它?

可以使用TextChanged文本框事件,但我不知道如何将其可视化。

对于那些不使用facebook的人,这里是描述。 通常没有下拉菜单,但是当您开始输入时,它会自动显示您的名字匹配的朋友,并且一旦文本被更改,它就会更新下拉菜单的内容。

注意:如果有帮助,也可以使用devexpress工具。

感谢和安培;此致 -AFgone

1 个答案:

答案 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;
    }
}