如何在C#TextBox中允许诸如Ctrl-A和Ctrl-Backspace之类的内容

JDi*_*rro 9 c# user-interface

我有一个多行的System.Windows.Forms.TextBox但它不接受Control-A和Control-Backspace之类的命令.

Control-A不执行任何操作,Control-Backspace插入一个框字符.

"快捷方式已启用"属性设置为true.

Bla*_*hma 16

从MSDN上的ShortcutsEnabled属性:

当Multiline属性值为true时,TextBox控件不支持CTRL + A快捷键.

你必须自己实现它.

这样的事情应该有效:

    private void textBox1_KeyDown(object sender, KeyEventArgs e)
    {
        if (e.Control & e.KeyCode == Keys.A)
        {
            textBox1.SelectAll();
        }
        else if (e.Control & e.KeyCode == Keys.Back)
        {
            SendKeys.SendWait("^+{LEFT}{BACKSPACE}");
        }
    }
Run Code Online (Sandbox Code Playgroud)