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

时间:2013-01-20 21:19:06

标签: c# user-interface

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

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

“已启用快捷方式”属性设置为true。

1 个答案:

答案 0 :(得分: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}");
        }
    }