【问题标题】:Keystroke combinations in c# winforms appc# winforms 应用程序中的按键组合
【发布时间】:2009-10-07 21:22:22
【问题描述】:

有谁知道我如何设置一个事件处理程序,以便如果击键 Alt + Shift + Ctrl + 一个字母会做某事?

【问题讨论】:

标签: c# winforms combinations keystroke


【解决方案1】:
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);
}

【讨论】:

    【解决方案2】:

    与 Ed 相同,但更短且更易读;)

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

    【讨论】:

    • 为什么需要覆盖?不能只为 keydown 事件添加一个事件处理程序吗?
    • 是的,你可以在事件处理程序中做同样的事情
    • 啊,甚至不知道这些属性的存在。 @Grant:如果此代码在目标对象的类定义中,您将覆盖该方法,否则使用该事件。
    猜你喜欢
    • 2011-05-23
    • 1970-01-01
    • 2023-02-09
    • 1970-01-01
    • 1970-01-01
    • 2012-07-03
    • 2015-04-21
    • 1970-01-01
    • 2012-01-20
    相关资源
    最近更新 更多