在哪里处置非模态形式的实例

时间:2013-10-16 15:44:59

标签: vb.net

模态形式很明显......

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    Dim f As New myForm
    f.ShowDialog(Me)
    f.Dispose
End Sub

但是如何处理非模态形式呢? 在哪里处理它?<​​/ p>

    Dim f As New myForm
    f.Show(Me)
    f.Dispose

这将立即关闭新创建的表格,因此f.Dispose不应该留在这里。
如果我把它放在_FormClosing处理程序中会很好但不够,因为我们可以运行该表单的几个实例。

1)那么,在第二个例子中,在何处以及如何处理非模态形式? 2)在这里有任何事件要知道我们的孩子表格会关闭吗?

1 个答案:

答案 0 :(得分:2)

您无需在无模式表单上调用Dispose,因为表单的资源会自动清除,但以下两个条件除外:

  1. 它是多文档界面(MDI)应用程序的一部分,表单不可见
  2. 您已使用ShowDialog
  3. 显示表单

    您的方案不属于上述两个条件之一,因此您无需担心手动.Dispose()来电的位置,因为不需要。

      

    阅读Form.Close Method文档以获取更多信息。