form_load事件之前进行form_activate事件,form_activate一般进行更初始的操作 例如: Private Sub MDIForm_Load () Form1.Caption = "Form #1" '设置 Form1 的标题。 Dim NewForm As New Form1 '创建一个新的子窗体。 Load NewForm NewForm.Caption = "Form #2" ' 设置新窗体的标题。 NewForm.Show ' 显示新窗体。 End SubPrivate Sub Form_Activate () ' 设置状态栏文本。 MDIForm1.Label1.Caption = "Current form: " & Me.Caption End Sub或者: Private Sub Form_Activate () Dim I ' Declare variable. ' 重新填充列表(当添加或删除一个实例时)。 lstForms.Clear ' Clear list box. For I = 0 To Forms.Count - 1 lstForms.AddItem Forms(I).Caption Next I End Sub
Option ExplicitPrivate Sub Form_Activate() Debug.Print "Form_Activate" End SubPrivate Sub Form_Initialize() Debug.Print "Form_Initialize" End SubPrivate Sub Form_Load() Debug.Print "Form_Load" End Sub Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer) Debug.Print "Form_QueryUnload" End SubPrivate Sub Form_Terminate() Debug.Print "Form_Terminate" End SubPrivate Sub Form_Unload(Cancel As Integer) Debug.Print "Form_Unload" End Sub
顺序楼上的已经说过了我说说区别 Form_Load 只执行一次 Form_Activate 执行多次,每次窗体切换(内部)时候生效 验证代码如下 建立工程,加上一个文本框,添加Form2Private Sub Command1_Click() Form2.Show End SubPrivate Sub Form_Activate() Text1.Text = Text1.Text + vbCrLf + "激活窗体" End SubPrivate Sub Form_Load() Text1.Text = Text1.Text + vbCrLf + "装载窗体" End Sub
例如:
Private Sub MDIForm_Load ()
Form1.Caption = "Form #1" '设置 Form1 的标题。
Dim NewForm As New Form1 '创建一个新的子窗体。
Load NewForm
NewForm.Caption = "Form #2" ' 设置新窗体的标题。
NewForm.Show ' 显示新窗体。
End SubPrivate Sub Form_Activate ()
' 设置状态栏文本。
MDIForm1.Label1.Caption = "Current form: " & Me.Caption
End Sub或者:
Private Sub Form_Activate ()
Dim I ' Declare variable.
' 重新填充列表(当添加或删除一个实例时)。
lstForms.Clear ' Clear list box.
For I = 0 To Forms.Count - 1
lstForms.AddItem Forms(I).Caption
Next I
End Sub
Intialize事件是在Load 事件之前发生,进行初始化操作
Debug.Print "Form_Activate"
End SubPrivate Sub Form_Initialize()
Debug.Print "Form_Initialize"
End SubPrivate Sub Form_Load()
Debug.Print "Form_Load"
End Sub
Private Sub Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
Debug.Print "Form_QueryUnload"
End SubPrivate Sub Form_Terminate()
Debug.Print "Form_Terminate"
End SubPrivate Sub Form_Unload(Cancel As Integer)
Debug.Print "Form_Unload"
End Sub
Form_Initialize
Form_Load
Form_Activate窗体卸载时侯的顺序
Form_QueryUnload
Form_Unload
Form_Terminate
Form_Load 只执行一次
Form_Activate 执行多次,每次窗体切换(内部)时候生效
验证代码如下
建立工程,加上一个文本框,添加Form2Private Sub Command1_Click()
Form2.Show
End SubPrivate Sub Form_Activate()
Text1.Text = Text1.Text + vbCrLf + "激活窗体"
End SubPrivate Sub Form_Load()
Text1.Text = Text1.Text + vbCrLf + "装载窗体"
End Sub