C# WinC窗体应用程序中的按键组合

C# WinC窗体应用程序中的按键组合,c#,winforms,combinations,keystroke,C#,Winforms,Combinations,Keystroke,有人知道我如何设置事件处理程序,以便在按下Alt+Shift+Ctrl+键时,一个字母能起作用吗?与Ed的相同,但更短,可读性更强 override void OnKeyDown( object sender, KeyEventArgs e ) { bool myKeysPressed = (e.KeyCode == Keys.A) && ((e.Modifiers & Keys.Alt) == Keys.Alt)

有人知道我如何设置事件处理程序,以便在按下Alt+Shift+Ctrl+键时,一个字母能起作用吗?

与Ed的相同,但更短,可读性更强

override void OnKeyDown( object sender, KeyEventArgs e )
{
    bool myKeysPressed = (e.KeyCode == Keys.A) &&
                         ((e.Modifiers & Keys.Alt) == Keys.Alt) &&
                         ((e.Modifiers & Keys.Shift) == Keys.Shift) &&
                         ((e.Modifiers & Keys.Control) == Keys.Control);
}
override void OnKeyDown( object sender, KeyEventArgs e )
{
    bool myKeysPressed = (e.KeyCode == Keys.A) &&
                          e.Alt &&
                          e.Shift &&
                          e.Control;
}

检查此问答:为什么需要覆盖?不可能只向keydown事件添加事件处理程序吗?是的,您可以在事件handlerAhhh中执行相同的操作,但您甚至不知道这些属性存在@Grant:如果此代码在目标对象的类定义内,则将重写该方法,否则使用事件。