Private Sub Form_Load()
  txtUserName.SetFocus
End Sub
其中txtUserName是一个TextBox的Name
运行报错
Run-time error '5':Invalid procedure call or argument

解决方案 »

  1.   

    不需要这么做
    你直接把txtUserName的TabIndex设置成0即可
      

  2.   

    Form_Load事件触发的时候,各个控件还没有显现,没有办法获得焦点
    所以SetFocus出错
      

  3.   

    错误原因类似于:
    Text1.Visible=False
    Text1.SetFocus
    这两句也会报这个错误的
      

  4.   

    因为不需要setfocus,焦点已经在文本框上了
      

  5.   

    tableindex=0 就表示默认焦点了
      

  6.   

    Text1.Visible=False
    Text1.SetFocus
    这个好理解。
    如果真是因为Form_Load事件触发的时候,各个控件还没有显现,那看来我对VB的机制还是不熟悉。
    to VirtualDesktop并不是因为不需要setfocus,焦点已经在文本框上了因为我把Tabindex设为非0也不能解决问题。