gpt4 book ai didi

c# - 覆盖 ProcessCmdKey 时如何检测 shift+tab

转载 作者:行者123 更新时间:2023-11-30 13:46:11 26 4
gpt4 key购买 nike

所以我不得不覆盖 ProcessCmdKey 以检测我的 winform 中的制表符按下。参见 this上下文问题。现在我已经成功解决了我遇到的制表问题,我现在意识到我还需要检查 shift+tab 逻辑以允许用户向后移动。我似乎无法弄清楚。以下是我尝试过的一些方法,但到目前为止还没有奏效。

    private bool isTab = false;
private bool isShiftTab = false;
private StringBuilder ShiftTab = new StringBuilder();

protected override bool ProcessCmdKey(ref Message msg, Keys keyData)
{

if (keyData == Keys.Tab)
{
isTab = true;
ShiftTab.Append("Tab");
}
else
{
isTab = false;
}

if (keyData == Keys.Shift)
{
ShiftTab.Append("Shift");
}

if (ShiftTab.ToString() == "TabShift" || ShiftTab.ToString() == "ShiftTab")
{
isShiftTab = true;

}

if ((Control.ModifierKeys & Keys.Tab) != 0)
{
//code
}

return base.ProcessCmdKey(ref msg, keyData);
}

最佳答案

我认为你必须像这样组合这两个键:

if (keyData == (Keys.Shift | Keys.Tab)) isShiftTab = true;

然后您可以使用它来跳过选项卡覆盖。

关于c# - 覆盖 ProcessCmdKey 时如何检测 shift+tab,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22873825/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com