C#WinForms: 我有一些像这样的代码:
if (GetAsyncKeyState((int)Keys.ShiftKey) != 0)
{
nShift = (nShift | 1);
}
如果我将if更改为Keys.Shift
,那么它正常工作,就像向前跳转一样,但如果那时它会破坏tabbing-backward,这是keyborad上的TAB + SHIFT键。但是我希望前后两个标签都能正常工作。如何更改此设置才能正常工作?
答案 0 :(得分:3)
ShiftKey值确定是否由于按下Shift键/向上/等等而引发了事件。 Shift值是修饰符,可以与其他键组合使用。
因此,如果值为A + Shift
,则表示用户在按住Shift键的同时按下了A键。
您没有提供足够的信息来说明为什么标签会受到影响,但我怀疑您没有正确处理控制和移位修改器的情况(以及Tab键)。或者您正在处理事件并阻止正常的标签发生。
答案 1 :(得分:0)
.net difference between right shift and left shift keys就是答案。我们应该说Keys.LShiftKey和Keys.RShiftKey