我需要從另一個VB6窗體關閉VB6窗體。我試着在form_unload但力的工作如下:如何從另一個VB窗口關閉VB窗口
End
unload(form_name)
me.close
set obj_formname = nothing
unload(me)
注:我只需要在特定的窗口即可關閉,但應用程序不應該關閉
請幫助我,如果我錯過了什麼
我需要從另一個VB6窗體關閉VB6窗體。我試着在form_unload但力的工作如下:如何從另一個VB窗口關閉VB窗口
End
unload(form_name)
me.close
set obj_formname = nothing
unload(me)
注:我只需要在特定的窗口即可關閉,但應用程序不應該關閉
請幫助我,如果我錯過了什麼
請嘗試以下測試項目,其中包含兩種形式:
Form1上有2個命令按鈕和以下代碼:
Option Explicit
Private Sub Command1_Click()
Form2.Show
End Sub
Private Sub Command2_Click()
Form2.Hide
End Sub
窗體2只是要顯示和隱藏,它不包含任何
當你Command上單擊它會顯示窗體2,當您單擊Command它會隱藏窗體2
您也可以使用Command2的以下代碼
Private Sub Command2_Click()
Unload Form2
End Sub
這兩個示例都適用於我。如果你的窗體2仍然那麼就可能有引用,或加載/顯示它您試圖關閉它
當您執行Form2上一個動作或使用對它的引用後,再Form2的將被再次裝入
你做一個動作之前,可以先請檢查是否Form2的加載,如果不是,你可能會決定不執行該操作
看看下面的測試項目,該項目包括2種形式:
Form1有3個命令按鈕和以下代碼:
Option Explicit
Private Sub Command1_Click()
Form2.Show
End Sub
Private Sub Command2_Click()
Unload Form2
End Sub
Private Sub Command3_Click()
DoForm2
End Sub
Private Sub DoForm2()
Dim frm As Form
Dim blnLoaded As Boolean
'check if Form2 is loaded
blnLoaded = False
For Each frm In Forms
If frm.Name = "Form2" Then
blnLoaded = True
End If
Next frm
'perform action if Form2 is loaded
If blnLoaded Then
Form2.Caption = CStr(Now)
'Print Form2.Name
End If
End Sub
窗體2沒有控件和下面的代碼:
Option Explicit
Private Sub Form_Load()
MsgBox "Form2 loaded"
End Sub
當窗體2裝載一個消息框會顯示出來。
爲了測試做到以下幾點:
然後刪除行「如果blnLoaded然後「和相應的」結束如果「並執行相同的測試...您現在將看到Form2將在最後一步加載
而是在Form2的標題欄上書寫某些東西,您也可以通過讀取Form2的名稱,通過刪除行「Form2.Caption = CStr(現在)「並取消行」打印Form2.Name「..這將給出相同的結果
你可以發佈一些更多的代碼?你如何創建和顯示窗口。 – pushpraj
「我」是目前的形式,所以這是肯定錯誤,因爲你想關閉其他形式......我想問題是與()圍繞form_name ..嘗試它沒有(),它可能會工作 – Hrqls