不知所云。
你的意思是不是这样,msgbox确认后某一控件聚焦,比喻textbox?如果是你后面加一句就行了text1.setfucos

解决方案 »

  1.   

    关键是: me.activecontrolmsgbox me.activecontrol.name
      

  2.   

    弹出msgbox之前,用:
    lastfocus = Form1.ActiveControl.Name
    记下来!
      

  3.   

    TO :hbm(万维微客(WhyWeWork)) 这样保存,毫无意义,你所保存得很有可能就是现在正在操作的这个控件的,如果这样的话,上一个控件,更本就是无意义,比如说,原来一个是在command1上,现在你单击commnad2,明显你保存的焦点是command2,而不是command1,实际上关键是如何知道me.activecontrol得上一个activnecontrol.name,这也才是我们要保存的。如何保存上一个activecontrol.name,又如何用最简单的方法,调用的?
      

  4.   

    在每个控件的LostFocus事件中保存控件的名字。
    不过这是一个笨办法,除此我想不出还有什么好办法了
      

  5.   

    Dim a(2) As Control
    Private Sub Command1_Click()
      Set a(0) = a(1)
      Set a(1) = Me.Controls("Command1")
    End SubPrivate Sub Command2_Click()
      Set a(0) = a(1)
      Set a(1) = Me.Controls("Command2")
    End SubPrivate Sub Command4_Click()
       Set a(0) = a(1)
      Set a(1) = Me.Controls("Command4")
       MsgBox "asdasdasD"
       a(0).SetFocus
    End Sub不知道是不是你乡要的
      

  6.   

    1、每个窗口(如VB中的窗体)都有保存其中带焦点控件的能力。因此重新回到这个窗口时,窗口中原来带焦点的控件就会再次出现焦点。这是系统内部设计的,不是人工做到的。2、窗体中的当前活动控件可以由 窗体名.ActiveControl获得。其实要保存它是容易的。
    '保存当前活动控件到变量CurrentVisit,设当前活动控件是Text1
    Set CurrentVisit=Form1.ActiveControl
    '以后可以用CurrentVisit来代替访问Text1
    CurrentVisit.Text="a"