在一个winform中
有一个TabControl控件
在TabPage1 中 有个 GroupBox 控件
在 GroupBox 中 有个TextBox 控件我想让winform启动时 焦点自动设置到 TextBox 中在 Form_Load中 设置 TextBox.Fouce() 是没用的,如果没有GroupBox 是有用的那个大哥指点一二
有一个TabControl控件
在TabPage1 中 有个 GroupBox 控件
在 GroupBox 中 有个TextBox 控件我想让winform启动时 焦点自动设置到 TextBox 中在 Form_Load中 设置 TextBox.Fouce() 是没用的,如果没有GroupBox 是有用的那个大哥指点一二
帮你找到答案了,vs2008 .NET2.0下测试通过:在Form_Load事件中设置焦点时,需要先将Form Show出来,即改写你的代码为this.Show();
this.TextBox1.Focus();就OK了。请先处理其他初始化,把这两句代码放到Form_Load事件的最后面参阅:
http://social.msdn.microsoft.com/forums/zh-TW/232/thread/8e2d434c-ac49-4072-974d-caadc85abccf/
很多时候我们虽然设置了 控件名.Focus() ,但控件依然获取不到焦点。该情况通常是该控件在一个容器控件内部,而该控件并非活动控件。所以需要我们手动设置: this.ActiveControl = 控件名;private void Form1_Load(object sender, EventArgs e)
{
this.ActiveControl = this.textBox1;///加上这句就OKl
this.textBox1.Focus();
}
这位兄弟的似乎更好用,避免了Show的调用,推荐用他的方法吧