Select 文本框中的所有文本自动完成 (C# winforms)

Select all text in textbox with autocomplete (C# winforms)

我创建了一个具有自动完成功能的文本框,但我遇到了以下问题。每当我按 Ctrl+A select 文本框中的所有文本时,文本都会消失。

这是我的文本框源代码:

        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;

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

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

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

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

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 的情况下删除文本