使用自动完成选择文本框中的所有文本(C#winforms)

时间:2015-05-26 14:11:30

标签: c# winforms autocomplete textbox selectall

我已经创建了一个具有自动填充功能的文本框,但是我遇到了以下问题。每当我按Ctrl + A选择文本框中的所有文本时,文本就会消失。

以下是文本框的源代码:

        this.textBox1 = new System.Windows.Forms.TextBox();
        this.textBox1.AutoCompleteCustomSource.AddRange(new string[] {
        "hello",
        "test",
        "ahha",
        "haha"});
        this.textBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppend;
        this.textBox1.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSource;
        this.textBox1.Location = new System.Drawing.Point(13, 13);
        this.textBox1.Name = "textBox1";
        this.textBox1.Size = new System.Drawing.Size(100, 20);
        this.textBox1.TabIndex = 0;

我希望文字突出显示而不是消失。提前谢谢。

2 个答案:

答案 0 :(得分:0)

如果您进行此更改,它似乎有效:

this.textBox1.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.Suggest;

答案 1 :(得分:0)

如果我添加以下代码,行为将停止:

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
    if (keyData == (Keys.Control | Keys.A))
    {
        SelectAll();
        return true;
    }
    return base.ProcessCmdKey(ref msg, keyData);
}

但我仍然不确定为什么自动完成模式下的追加功能会删除文本而不会覆盖Ctrl + A