我的主要形式是MDI父母。
在内部,我打开了第二个(相同的解决方案,不同的项目)形式:
Dim f As New mynevproj.frm_list
With f
.MdiParent = Me
.Show()
End With
在这些新表单(frm_list)中,我在几个实例中打开另一个新表单:
Dim fa As New frm_art1
With fa
.StartPosition = FormStartPosition.Manual
.Location = New Point(Me.Location.X + 20 + (inst * 20), Me.Location.Y))
AddHandler .aClosed, AddressOf frm_artikl_Closed
.Show()
End With
会发生什么?
当我打开frm_art1的几个实例然后关闭frm_list时,我希望关闭所有frm_art1以关闭frm_list。
但这不会发生。
每当我点击(X)关闭frm_list时,一个frm_art1实例关闭,最后当所有frm_art1关闭时,frm_frm_list关闭。
当我关闭frm_list时,如何通过frm_list打开所有表单。
这在非MDI环境中效果很好。
现在我在frm_list的form_closing中另外尝试这个:
For Each frm As Form In My.Application.OpenForms
If frm.Name = "frm_art1" Then
frm.Close()
End If
Next
这也行不通!
答案 0 :(得分:0)
尝试将frm_list作为其他表单的所有者:
Dim fa As New frm_art1
With fa
.StartPosition = FormStartPosition.Manual
.Location = New Point(Me.Location.X + 20 + (inst * 20), Me.Location.Y))
AddHandler .aClosed, AddressOf frm_artikl_Closed
.Owner = Me
.Show()
End With