C# 使用键之间的混淆。Shift和Keys.ShiftKey

C# 使用键之间的混淆。Shift和Keys.ShiftKey,c#,winforms,C#,Winforms,C#WinForms: 我有一些这样的代码: if (GetAsyncKeyState((int)Keys.ShiftKey) != 0) { nShift = (nShift | 1); } 如果我将If改为键。Shift则其工作正常,就像向前按TAB键一样,但如果它向后按TAB键,即键盘上的TAB+Shift键。但我想让向前和向后的选项卡都工作。如何将其更改为正常工作?ShiftKey值确定事件是否由于按下Shift键/向上键等而引发。Shift值是一个修饰符,可以与其他键组合使用

C#WinForms: 我有一些这样的代码:

if (GetAsyncKeyState((int)Keys.ShiftKey) != 0)
{
    nShift = (nShift | 1);
}

如果我将If改为
键。Shift
则其工作正常,就像向前按TAB键一样,但如果它向后按TAB键,即键盘上的TAB+Shift键。但我想让向前和向后的选项卡都工作。如何将其更改为正常工作?

ShiftKey值确定事件是否由于按下Shift键/向上键等而引发。Shift值是一个修饰符,可以与其他键组合使用

因此,如果值为
A+Shift
,则表示用户在按住Shift键的同时按下了A键


您没有提供足够的信息来说明为什么制表符会受到影响,但我怀疑您没有处理这样的情况:正确指定了控件和移位修饰符(以及制表键)。或者您正在处理该事件并防止发生正常的制表符。

ShiftKey值确定该事件是否由于按下Shift键/向上键等而引发。Shift值是一个修饰符,可以与其他键组合使用

因此,如果值为
A+Shift
,则表示用户在按住Shift键的同时按下了A键

您没有提供足够的信息来说明为什么制表符会受到影响,但我怀疑您没有处理这样的情况:正确指定了控件和移位修饰符(以及制表键)。或者您正在处理该事件并阻止正常的制表符出现。

就是答案。我们应该说Keys.lshift键和Keys.rshift键是答案。我们应该说Keys.LShiftKey和Keys.RShiftKey