0
我想form1加載form2,當form2卸載時,卸載form1。在vb6中加載表單並在卸載時收到通知?
我想盡量減少耦合。
使用案例: 我將form1作爲半透明背景啓動,以便更容易看到form2。 當form2卸載時,我希望form1也會卸載。我將重複使用這些代碼以及許多其他'form2'類型的表單。
我已經考慮過addressof運算符。希望更簡單些。
我想form1加載form2,當form2卸載時,卸載form1。在vb6中加載表單並在卸載時收到通知?
我想盡量減少耦合。
使用案例: 我將form1作爲半透明背景啓動,以便更容易看到form2。 當form2卸載時,我希望form1也會卸載。我將重複使用這些代碼以及許多其他'form2'類型的表單。
我已經考慮過addressof運算符。希望更簡單些。
如果你顯示窗口2模態,那麼你可以展示方法返回後卸載Form1中:
在Form1,在顯示窗口2:
Form2.Show vbModal
Unload Me
或者,如果你沒有顯示窗口2模態,那麼您可以在卸載事件Unload Form1中的窗口2:
Private Sub Form_Unload(Cancel As Integer)
Unload Form1
End Sub
嗯,如果我沒記錯的話,有一個'Form'類的'Unload'事件,所以你應該能夠訂閱此。一個表單類不能處理另一個表單類的事件嗎? –
@CodyGray,是的,這正是這個想法。但我不知道如何輕鬆地讓Form1訂閱form2的Unload事件,而無需在form2的卸載甚至處理程序中編寫代碼(我想避免將耦合最小化,並且必須*記住*每次都這樣做) –
天哪,我是希望在VB 6中有更新的經驗的其他人會來,並且通過我的評論慢慢地記住他們的記憶。如果我沒有記錯的話,如果你想處理聲明的對象的事件,你可以聲明一個標記爲「WithEvents」的模塊級變量。當然,這會增加Form1和Form2之間的耦合,但這對於你所描述的內容來說似乎是不可避免的。我不太清楚你的評論意味着什麼,但是:如果Form1處理Form2的Unload事件,Form2甚至不需要處理它自己的Unload事件。處理將在Form1的類中進行。 –