运行的时候有初始焦点会在某个控件上。
我想把初始焦点设到另一个变量上,怎么弄的?

解决方案 »

  1.   

    有一个注意事项,就是在Form_Load事件中使用时要这样写    Me.Show
        Call Text2.SetFocus
    原因详见以下MSDN摘录:SetFocus 方法
          将焦点移至指定的控件或窗体。语法object.SetFocusobject 所在处代表对象表达式,其值是“应用于”列表中的一个对象。说明对象必须是 Form 对象、MDIForm 对象或者能够接收焦点的控件。调用 SetFocus 方法以后,任何的用户输入将指向指定的窗体或控件。焦点只能移到可视的窗体或控件。因为在窗体的 Load 事件完成前窗体或窗体上的控件是不可视的,所以如果不是在 Form_Load 事件过程完成之前首先使用 Show 方法显示窗体的话,是不能使用 SetFocus 方法将焦点移至正在自己的 Load 事件中加载的窗体的。也不能把焦点移到 Enabled 属性被设置为 False 的窗体或控件。如果已在设计时将 Enabled 属性设置为 False,必须在使用 SetFocus 方法使其接收焦点前将 Enabled 属性设置为 True。
      

  2.   

    控件名.setfocus
    或者使用API,
    Public Declare Function SetFocus Lib "user32" Alias "SetFocus" (ByVal hwnd As Long) As Long
      

  3.   

    除以下还有其他答案没
    SetFocus 方法
    Public Declare Function SetFocus Lib "user32" Alias "SetFocus" (ByVal hwnd As Long) As Long
      

  4.   

    还有一种办法:
    改变这个控件的TabIndex让它比本窗体里其它控件TabIndex都小(这个控件的tabindex值最小)
    比如你让command1.tabindex=0
      

  5.   

    利用控件的TabIndex属性,控件会根据此值从小到大的顺序依次获得焦点!
      

  6.   

    SetFocus 
    或者把那个控件的tab顺序设置成第一个。