基本上在我正在处理的 C# Windows 窗体应用程序中,我按下了 2 个按钮button1
和button2
.
2 custom keys
当我同时按下(例如 CTRL+ L)程序执行编码的步骤时,我如何做到这一点button1
?请记住,该窗口可能未处于活动状态。
我看过这个:Keypress To Simulate A Button Click in C#但我认为如果窗口不活动,这将不起作用,而且它也只按下一个按钮而不是两个。
基本上在我正在处理的 C# Windows 窗体应用程序中,我按下了 2 个按钮button1
和button2
.
2 custom keys
当我同时按下(例如 CTRL+ L)程序执行编码的步骤时,我如何做到这一点button1
?请记住,该窗口可能未处于活动状态。
我看过这个:Keypress To Simulate A Button Click in C#但我认为如果窗口不活动,这将不起作用,而且它也只按下一个按钮而不是两个。
在Form KeyUp Event
和Properties 中是KeyPressPreview = true
可以完成这个任务的。
private void Form_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.L && e.Control)
{
yourButton.PerformClick();
e.Handled = true;
}
}
或者
如果你想进去Keypress Event
private void Form_KeyPress(object sender, KeyPressEventArgs e)
{
if (e.Control && e.KeyCode == Keys.L)
{
yourButton.PerformClick();
e.Handled = true;
}
}
编辑:
我意识到 OP 想要keypress Event
从他的声明中“但如果窗口不活动,我认为这不会起作用”
你可能必须检查这个
如果在按钮文本中的任何字符前面加上 &,并保持 UseMnemonic 为 true,。alt+字符将用作快捷键。
例如,在您的情况下,将按钮的文本分别更改为button&1和button&2。保持UserMnemonic = true。现在,如果您按alt+1则 button1 将被按下,如果您按alt+2则 button2 将被按下。
1 和 2 也将分别加下划线。
希望有帮助。