当前位置:  开发笔记 > 编程语言 > 正文

在不使用Windows窗体中的事件的情况下按下检测Shift键?

如何解决《在不使用Windows窗体中的事件的情况下按下检测Shift键?》经验,为你挑选了2个好方法。

我需要能够检测到shift键被保持,但我不想使用事件或全局变量来确定它.C#中是否有API可以让您询问当前按下的键而不是使用该事件?



1> SLaks..:
if ((Control.ModifierKeys & Keys.Shift) != 0) 

这也将是true如果另一个修改键也下来了(例如,按Ctrl + Shift).如果要在没有任何其他修改器的情况下检查是否单独按Shift,请使用

if (Control.ModifierKeys == Keys.Shift)

请注意,true如果另一个非修饰符向下(例如,Shift + A),即使这样也是如此.如果您想检查移位和是否移位被按下,你必须使用一个API调用.


如果您在继承的类Control(例如表单)中,则可以删除Control限定符.(static属性在继承的类中不需要限定符)



2> Dan Byström..:

Form.ModifierKeys (静态属性)


这有效,但该属性继承自Control not Form
推荐阅读
mobiledu2402851173
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有