如何在RichTextBox中捕获Ctrl-Z击键
本文关键字:Ctrl-Z 击键 RichTextBox | 更新日期: 2023-09-27 17:58:43
我需要捕捉用户在RichTextBox控件中按下CTRL-Z
(同时按下CTRL
和Z
)的时间。
我已关闭ShortCutsEnabled
属性。我已经尝试了将KeyCode
和KeyData
与KeyDown
和KeyPress
事件结合使用的所有组合。
我可以捕获CTRL
或Z
,但不能同时捕获。即使快捷方式被禁用,RichTextBox
是否在我看到之前就捕捉到了这个击键?
有人能解决这个问题吗?
您可以简单地使用CTRL-Z
textBox1.KeyDown += new KeyEventHandler(textBox1_KeyDown);
void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if(e.KeyCode == Keys.Z && (e.Control)) {
MessageBox.Show("Ctrl + Z Pressed!");
}
}
检查KeyDown
事件中的KeyCode
和Modifiers
:
private void richTextBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.Modifiers == Keys.Control && e.KeyCode == Keys.Z)
MessageBox.Show("Ctrl-Z Pressed");
}
void richTextBox1_KeyDown(object sender, KeyEventArgs e)
{
if ((Control.ModifierKeys & Keys.Control) == Keys.Control && e.KeyCode == Keys.Z)
{
MessageBox.Show("Ctrl + Z is Pressed");
}
}
试试这个。