以Tab键顺序以编程方式选择第二个控件

时间:2012-04-23 13:50:38

标签: c# winforms

我有一个包含用户控件的对话框,并尝试将选项卡中的控件第二行设置为起始选项卡。即当窗体被激活时,聚焦控件实际上不是具有最低Tab键顺序的控件。 我尝试使用

在构造函数中设置它
  this.SelectNextControl(this.ActiveControl, true, true, true, false);

但当时'this.ActiveControl'为空。

谁有想法?

3 个答案:

答案 0 :(得分:1)

也许会这样做:

tabControl1.SelectedIndex = 1;

答案 1 :(得分:1)

Shown事件中尝试一下。在实际显示窗口时调用此事件 - 此时,所有聚焦都已完成,所有控件都已创建且表单已准备就绪。在构造函数或Load中可能不是这种情况。

答案 2 :(得分:0)

尝试

tabControl1.SelectTab(1);

tabControl1.SelectTab("tabPage2");

InitializeComponent()之后立即在构造函数中调用时,两个版本都可以工作。 (已测试)


编辑(在您澄清之后)

使这个(现在是第二个)控制选项卡顺序中的第一个和前一个控件(现在是第一个)控制选项卡顺序中的最后一个。由于按Tab键循环完成所有控件,在到达最后一个控件后自动重新开始,您应该得到所需的行为。

+---+  +---+  +---+  +---+
| 4 |  | 1 |  | 2 |  | 3 |
+---+  +---+  +---+  +---+