我有一个带有用户控件的对话框,并试图将选项卡顺序中的第二个控件设置为起始选项卡。即当表单被激活时,焦点控件实际上不是具有最低标签顺序的控件。我试图在构造函数中使用
this.SelectNextControl(this.ActiveControl, true, true, true, false);
但当时“this.ActiveControl”为空。
有人有想法吗?
也许这会做到:
tabControl1.SelectedIndex = 1;
在活动中尝试一下Shown
。在实际显示窗口时调用此事件 - 此时,所有焦点都已完成,所有控件都已创建并且表单已准备好。在构造函数或Load
.
尝试
tabControl1.SelectTab(1);
或者
tabControl1.SelectTab("tabPage2");
两个版本都可以工作,当在构造函数之后立即调用InitializeComponent()
. (已测试)
编辑(在你澄清之后)
使这个(现在是第二个)控制选项卡顺序中的第一个控件,而前一个控件(现在是第一个)选项卡顺序中的最后一个控件。由于按 Tab 键循环遍历所有控件,在到达最后一个控件后自动从头开始重新启动,您应该获得所需的行为。
+---+ +---+ +---+ +---+ | 4 | | 1 | | 2 | | 3 | +---+ +---+ +---+ +---+