WinForm上放个Panel,Panel里放个TabControl,TabPage里放个TextBox。现在想让程序一启动就让TextBox1得到焦点。在Form的Load事件里写 textBox1.Focus(); 但是没有效果。可是如果不要Panel就能得到期望的结果。现在我的替代方案是把代码放在Shown事件里,也是可以的。请达人解释一下为什么,谢谢。

解决方案 »

  1.   

    我觉得你要通过Panel里面找到textbox的属性才可以
      

  2.   

    Load事件,窗体还没有出来呢,所以,放在Shown事件里不是替代方案,是必然的===================================================
    技术交流不该有界限 资源共享不该有条件
    博客空间:http://blog.csdn.net/lovingkiss
    资源下载:http://download.csdn.net/user/lovingkiss
    Email:loving-kiss@163.com
    本人说明:<我的帖子我做主,结贴率保持100%>
    1、欢迎一切问题有关的交流——无论答案对错;
    2、不欢迎 顶、Mark、支持之类口水混分的人;
    我保留对非<散分贴>蹭分者的厌恶和鄙视...
    精通:jīnɡtōnɡ对学问技术等透彻的了解并熟练掌握
    所以,我没有精通,只有JZ
    ===================================================
      

  3.   

    //在Form的Load事件里写 textBox1.Focus(); 但是没有效果。
    //可是如果不要Panel就能得到期望的结果。窗体控件比较多的时候,在Load的时候,你设置了Textbox获得焦点,但是这时候控件实际上没有完全加载完毕,如果有新的控件产生——焦点就跑啦。Shown在Load之后,这时候已经控件生成完毕了——所以会很稳定的。===================================================
    技术交流不该有界限 资源共享不该有条件
    博客空间:http://blog.csdn.net/lovingkiss
    资源下载:http://download.csdn.net/user/lovingkiss
    Email:loving-kiss@163.com
    本人说明:<我的帖子我做主,结贴率保持100%>
    1、欢迎一切问题有关的交流——无论答案对错;
    2、不欢迎 顶、Mark、支持之类口水混分的人;
    我保留对非<散分贴>蹭分者的厌恶和鄙视...
    精通:jīnɡtōnɡ对学问技术等透彻的了解并熟练掌握
    所以,我没有精通,只有JZ
    ===================================================
      

  4.   

    楼上说得对
    不过我都是设tabindex=0