说我有一个Textbox
嵌套在一个TabControl
.
当表单加载时,我想关注它Textbox
(默认情况下焦点设置为TabControl
).
只是textbox1.focus()
在Load
表单的情况下调用似乎不起作用.
我已经能够通过执行以下操作来关注它:
private void frmMainLoad(object sender, EventArgs e) { foreach (TabPage tab in this.tabControl1.TabPages) { this.tabControl1.SelectedTab = tab; } }
我的问题是:
有没有更优雅的方式来做到这一点?
以下是解决方案:
private void frmMainLoad(object sender, EventArgs e) { ActiveControl = textBox1; }
然而,更好的问题是为什么......我不完全确定那个问题的答案是什么.
编辑:我怀疑它与表单和TabControl都是容器这一事实有关,但我不确定.
试着把它放在Form_Shown()
活动中.因为它在容器中,所以放入Form_Load甚至Form()构造函数都行不通.