我有一个多行的 System.Windows.Forms.TextBox,但它不接受像 Control-A 和 Control-Backspace 这样的命令。
Control-A 什么都不做,Control-Backspace 插入一个方框字符。
“启用快捷方式”属性设置为 true。
我有一个多行的 System.Windows.Forms.TextBox,但它不接受像 Control-A 和 Control-Backspace 这样的命令。
Control-A 什么都不做,Control-Backspace 插入一个方框字符。
“启用快捷方式”属性设置为 true。
从 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}");
}
}