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

解决方案 »

  1.   

    假如我做了一个msgbox或者其他的处理之后返回时,光标就会失去了,我要找的是返回之前是光标所在的位置。
    谁能够救我。
      

  2.   

    使用一个变量来记录光标的位置说个最简单的,假设窗体中有两个textbox,光标在第一个的时候设置变量为1,第二个的时候设置变量为2,当关闭msgbox的时候,根据变量的值使相应的控件获得焦点就可以了呵呵,如有问题:[email protected]
      

  3.   

    Dim obj As Object
        Set obj = Me.ActiveControl
        MsgBox obj.Name
        obj.SetFocus
      

  4.   

    定义一个Public变量。
    在可有焦点的对象的GetFocus事件中,记录它的名称,
    处理返回时,controls("最近获得焦点对象的名称").setfocus