[英]Form closing Event in VB6?
只是想問一下, VB6 中是否有等效的 form_closing 事件? (.bas)。 我問的原因是如果有一個打開的子窗口,我想防止先關閉應用程序。
像這樣的東西。
Private Sub MainForm_FormClosing(sender As Object, e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
If hasSubWindow Then
MessageBox.Show("You currently have active sub-window(s)")
e.Cancel = false
End If
End Sub
共有三個事件: Form_QueryUnload(Cancel As Integer, UnloadMode As Integer)
、 Form_Unload(Cancel As Integer)
和Form_Terminate()
。
Form_QueryUnload
在Form_Unload
之前觸發,其中將Cancel
設置為 0 以外的任何值都會取消卸載,而UnloadMode
指示卸載事件的原因。
Form_Unload
采用 integer,如果將其設置為 0 以外的任何值,則會取消卸載。
Unload 事件過程是程序員通常放置清理代碼的地方。 Unload 事件在 QueryUnload 事件之后觸發。 Unload 事件過程采用單個參數,即 Cancel 參數。 Unload 的 Cancel 參數與 QueryUnload 的 Cancel 參數作用相同。
Terminate 事件在窗體實例完全卸載並且所有窗體變量都設置為 Nothing 時發生。 只有在 Unload 事件過程期間或之后在代碼中將窗體顯式設置為 Nothing 時,Terminate 事件才會發生。
資料來源: https://www.freetutes.com/learn-vb6-advanced/lesson6/p5.html
在您的情況下,您可能希望將代碼放入Form_QueryUnload
或Form_Unload
中以檢查是否有任何其他打開的 forms。
Private Sub Form_Unload(Cancel As Integer)
If hasSubWindow = True Then
MsgBox "You currently have active sub-window(s)", vbInformation, "Confirm"
Cancel = 1
End if
End Sub
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.