如何在C#文本框中允许Ctrl-A和Ctrl Backspace之类的操作
我有一个System.Windows.Forms.TextBox,它是多行的,但它不接受Control-a和Control Backspace之类的命令 Control-A不执行任何操作,Control Backspace会插入一个方框字符 “已启用快捷方式”属性设置为true。来自MSDN的属性: 当多行属性值为true时,TextBox控件不支持CTRL+A快捷键 你必须自己实施它 像这样的方法应该会奏效:如何在C#文本框中允许Ctrl-A和Ctrl Backspace之类的操作,c#,user-interface,C#,User Interface,我有一个System.Windows.Forms.TextBox,它是多行的,但它不接受Control-a和Control Backspace之类的命令 Control-A不执行任何操作,Control Backspace会插入一个方框字符 “已启用快捷方式”属性设置为true。来自MSDN的属性: 当多行属性值为true时,TextBox控件不支持CTRL+A快捷键 你必须自己实施它 像这样的方法应该会奏效: private void textBox1_KeyDown(object s
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}");
}
}
您能否显示您正在使用的代码以及它不接受命令的位置?它是一个文本框,而不是文字处理器。你自己去实现它。你真幸运。谢谢,控制退格怎么样?我使用了这么多,当一个文本框不支持它时,它会让我非常讨厌。@jdipero-我更新了答案以显示对Ctrl Backspace的支持(这就像
Ctrl+Shift+Left_Arrow
然后Backspace
)。这只是一个例子,您可以在谷歌上搜索其他可能更好地满足您需求的实现;使用((文本框)发件人)。选择全部();因此,多个文本框可以使用相同的方法,您可以复制和粘贴,而无需担心文本框的名称。谢谢!e、 SuppressKeyPress可防止叮当声。您可能还需要设置e.Handled。@xr280xr谢谢您的提示。注意,根据:“将SuppressKeyPress设置为true也会将Handled设置为true。”