如何从* *不同的*表单中处理表单的close事件?

时间:2012-10-15 18:24:38

标签: vb.net winforms

(使用VB.NET 2010)

假设我有2个表单,名为Form1和Form2。

是否可以从Form1中的子句面处理Form2的close事件?例如,我想在Form1类中执行类似的操作......

    Private Sub Form2_FormClosed(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosedEventArgs) Handles Form2.FormClosed

        ' Code to run when Form2 is closed

    End Sub

但显然,这不起作用。

所以...任何方式这样做?或者,任何解决方法都能达到同样的效果?

1 个答案:

答案 0 :(得分:2)

您需要使用WithEvents关键字声明变量:

Dim WithEvents popup As Form2

并创建与此类似的表单:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    popup = New Form2
    popup.Show()
End Sub

现在您的事件处理程序将正常工作。