关闭多个新表单[VB.NET]

时间:2015-09-14 07:38:20

标签: vb.net

我的sw有问题:我有三种形式:主要形式(A),次要形式(B)和第三种形式(C)。形式A必须始终可见且可用,形式B从形式A开始,形式C开口形式形式B. 我需要打开表单C的多个实例(我不知道有多少实例),我在表单B的命令按钮中使用此代码:

            Dim newform As New modifica_normale
            newform.LoadOrders(commessa_da_modificare, id_da_modificare, False)
            newform.Show()

当表单B关闭时,我需要关闭表单C的所有多个实例,所以在结束时我已经尝试过:

            modifica_normale.Close()

但不起作用。 我知道我可以将newform定义为全局变量并调用newform.close(),但我不知道用户将打开的newform的数量。

谢谢,Pietro。

1 个答案:

答案 0 :(得分:2)

此代码仅关闭表单的公共实例,而不是每个新实例化的表单对象:

 modifica_normale.Close()

相反,您可以尝试在创建每个表单时将表单添加到表单集合中。 在表单B上创建表单级别列表。

 Dim currentForms As List(Of Form) = New List(Of Form)

每次创建表单C的实例时都添加

Dim fNew As New modifica_normale
currentForms.Add(fNew)

如果要关闭它们,请循环返回关闭每个实例的表单集合。

For Each frmCheck As Form In currentForms
    frmCheck.Close
Next