TO :hbm(万维微客(WhyWeWork)) 这样保存,毫无意义,你所保存得很有可能就是现在正在操作的这个控件的,如果这样的话,上一个控件,更本就是无意义,比如说,原来一个是在command1上,现在你单击commnad2,明显你保存的焦点是command2,而不是command1,实际上关键是如何知道me.activecontrol得上一个activnecontrol.name,这也才是我们要保存的。如何保存上一个activecontrol.name,又如何用最简单的方法,调用的?
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不知道是不是你乡要的
1、每个窗口(如VB中的窗体)都有保存其中带焦点控件的能力。因此重新回到这个窗口时,窗口中原来带焦点的控件就会再次出现焦点。这是系统内部设计的,不是人工做到的。2、窗体中的当前活动控件可以由 窗体名.ActiveControl获得。其实要保存它是容易的。 '保存当前活动控件到变量CurrentVisit,设当前活动控件是Text1 Set CurrentVisit=Form1.ActiveControl '以后可以用CurrentVisit来代替访问Text1 CurrentVisit.Text="a"
lastfocus = Form1.ActiveControl.Name
记下来!
不过这是一个笨办法,除此我想不出还有什么好办法了
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不知道是不是你乡要的
'保存当前活动控件到变量CurrentVisit,设当前活动控件是Text1
Set CurrentVisit=Form1.ActiveControl
'以后可以用CurrentVisit来代替访问Text1
CurrentVisit.Text="a"