儿童形式的亲密的孩子

时间:2012-09-26 17:44:27

标签: vb.net winforms

我的主要形式是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

这也行不通!

1 个答案:

答案 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