Winforms Windows窗体-使用其他键替代Enter
在Windows窗体中是否有方法使用Q键激活当前聚焦的按钮/控件?或者覆盖Enter键,以便按Q键可以像Enter键一样激活当前聚焦的控件?我希望用户能够控制应用程序,只需左手按Tab和Q键即可循环控制并激活它们Winforms Windows窗体-使用其他键替代Enter,winforms,focus,overriding,Winforms,Focus,Overriding,在Windows窗体中是否有方法使用Q键激活当前聚焦的按钮/控件?或者覆盖Enter键,以便按Q键可以像Enter键一样激活当前聚焦的控件?我希望用户能够控制应用程序,只需左手按Tab和Q键即可循环控制并激活它们 private void Form2_KeyDown(object sender, KeyEventArgs e) { if (e.KeyCode == Keys.Q) { e.Handle
private void Form2_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Q)
{
e.Handled = true;
}
我已经有了这个,但是在处理e.之后需要什么来激活当前焦点?作为一个选项,您可以覆盖并检查键是否为Q,然后使用发送回车并返回
true
来指示您已处理键:
protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{
if (keyData == Keys.Q)
{
SendKeys.Send("{Enter}");
return true;
}
return base.ProcessCmdKey(ref msg, keyData);
}
如果需要,您可以通过选中
this.ActiveControl is Button
来限制按钮的行为。要将焦点移动到不同的控件,Tab
就足够了。您的意思是想在按钮上使用Q
而不是Enter
?一个文本框如何?
?事情是,一切都是自动化的,你只需做一些决定,然后按下我的一个按钮,如果用户可以用右手控制鼠标,用左手控制Tab+Q来选择一个按钮并激活它,那就太好了,不使用enter。欢迎:)如果需要,可以通过选中this.ActiveControl is Button
将行为限制为按钮。