我的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。
答案 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