C# 使用键之间的混淆。Shift和Keys.ShiftKey
C#WinForms: 我有一些这样的代码: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值是一个修饰符,可以与其他键组合使用
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