基本上在我正在处理的C#Windows窗体应用程序中,我有2个按钮,我按button1
和button2
。
当我同时按2 custom keys
(例如 CTRL + L )时,如何制作该程序执行步骤编码为button1
?请记住,窗口可能没有激活。
我看过这个:Keypress To Simulate A Button Click in C#但是如果窗口没有激活,我认为这不会起作用,而且只有一个按钮不是两个按钮。
答案 0 :(得分:1)
在Form KeyUp Event
中,属性为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
但我不认为如果窗口不活动,这将会起作用“
你可能必须检查这个
答案 1 :(得分:0)
如果您在按钮文本中的任何字符前面加上&,并将UseMnemonic保持为true,则。 alt +字符将作为快捷键。
例如,在您的情况下,分别将按钮的文本更改为按钮& 1 和按钮& 2 。保持 UserMnemonic = true 。现在,如果按 alt + 1 ,则按下按钮1,如果按 alt + 2 ,将按下按钮2。
同样分别为1和2的下划线。
希望有所帮助。