Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用自动完成功能(C#winforms)选择文本框中的所有文本_C#_Winforms_Autocomplete_Textbox_Selectall - Fatal编程技术网

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

使用自动完成功能(C#winforms)选择文本框中的所有文本,c#,winforms,autocomplete,textbox,selectall,C#,Winforms,Autocomplete,Textbox,Selectall,我创建了一个具有自动完成功能的文本框,但遇到了以下问题。每当我按Ctrl+A选择文本框中的所有文本时,文本就会消失 以下是我的文本框源代码: this.textBox1 = new System.Windows.Forms.TextBox(); this.textBox1.AutoCompleteCustomSource.AddRange(new string[] { "hello", "test", "ahha",

我创建了一个具有自动完成功能的文本框,但遇到了以下问题。每当我按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;

我希望文本高亮显示,而不是消失。提前感谢。

如果您做了此更改,它似乎会起作用:

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

谢谢,但是我需要保留追加功能