用户界面-我如何在c#文本框中允许Ctrl-A和Ctrl-Backspace这样的操作?

本文关键字:Ctrl-Backspace Ctrl-A 操作 文本 用户界面 | 更新日期: 2023-09-27 17:54:34

我有一个System.Windows.Forms.TextBox是多行的,但它不接受像Control-A和Control-Backspace这样的命令。

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

快捷方式启用

用户界面-我如何在c#文本框中允许Ctrl-A和Ctrl-Backspace这样的操作?

从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}");
        }
    }