2010-03-24 49 views
0

我有一个应用程序可以根据用户的请求打开一些其他表单,并且它们被设置为不显示在任务栏中。问题是,如果其中一个辅助窗口被其他应用程序隐藏,则切换到主窗口只会将该窗体带到最前方。.NET分组形式,以便拉起主窗体显示所有其他形式?

有没有一种很好的方式来对表格进行“分组”,以便给予他们任何一个焦点将整个团队带到前面?我尝试在主窗体的Activated事件中的每个窗体上调用BringToFront(),但这也给了次窗体焦点,使其无法与主窗体进行交互。

回答

1

您必须将主窗体设置为其他窗体的所有者。 使用此代码片段测试:

Private Sub addNextForm(ByVal sender As Object, ByVal e As EventArgs) 
     Dim newForm As New Form() 
     newForm.StartPosition = FormStartPosition.CenterParent 
     newForm.Text = "Form " & Me.OwnedForms.Length + 1 
     newForm.ShowInTaskbar = False 
     newForm.Owner = Me 
     Dim btn As New Button() 
     btn.Text = "Open Form" 
     AddHandler btn.Click, AddressOf Me.addNextForm 
     newForm.Controls.Add(btn) 
     newForm.Show() 
End Sub