不同的GroupBox中有许多winforms控件。在某些情况下,我需要忽略已定义的选项卡索引,并将焦点放在另一个GroupBox中的指定控件上。我已尝试覆盖ProcessCmdKey
并调用Focus
和Select
方法,但仍遵循tabindex顺序。我怎么能来到tabindexes
答案 0 :(得分:1)
假设您有3个文本框,textBox1,textBox2和textBox3:
private void textBox1_KeyDown(object sender, KeyEventArgs e)
{
if (e.KeyCode == Keys.Tab)
textBox3.Focus();
}
protected override bool ProcessTabKey(bool forward)
{
return !textBox1.ContainsFocus && base.ProcessTabKey(forward);
}
这将完全符合您的要求。此逻辑中的hey元素为ProcessTabKey
覆盖,link to MSDN。
上面的代码使textBox1跳转到textBox3,而不是让Windows自动为你做。