我正在尝试使用 KeyDown-Event(因为我喜欢使用 KeyCode)来执行单个操作。为此,我使用 bool 变量来停止连续动作。
虽然无法弄清楚我的代码有什么问题,并且还没有找到类似的问题/解决方案......
我的选项卡控件上有 2 个选项卡,我希望能够使用 CTRL+TAB 在它们之间切换。切换应该在选项卡的 keydown 上发生一次。
bool tabSwitchPossible = true;
void Form1_KeyUp(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Tab)
tabSwitchPossible = true; //Reset boolean
}
void Form1_KeyDown(object sender, KeyEventArgs e)
{
if (tabSwitchPossible && e.KeyCode == Keys.Tab && e.Modifiers == Keys.Control)
{
tabSwitchPossible = false; //Set boolean to prevent further action
if (mainTabControl.SelectedIndex >= mainTabControl.TabCount - 1)
mainTabControl.SelectedIndex = 0;
else
mainTabControl.SelectedIndex++;
return;
}
}
即使我没有释放密钥,是否也会触发自动 KeyUp 事件?!
谢谢各位,先...