我正在vb.net中开发一个WPF项目并且其中有多个窗口。当用户选择菜单项时,将打开一个新窗口,问题是当用户单击其他菜单项时,当前窗口应自行关闭。 我如何实现它? 谢谢!
答案 0 :(得分:1)
我认为你的意思是基于你的评论:
Class MainWindow
Public Win3 As Window3 = New Window3()
Private Sub Button1_Click(sender As System.Object, e As System.Windows.RoutedEventArgs) Handles Button1.Click
Win3.Show()
Me.Close()
End Sub
End Class
答案 1 :(得分:0)
有两种方法可以做到这一点:
如果菜单项共享相同的表单,则在表单中创建一个子程序,您调用它而不是新程序,检查它是否已经显示/创建,如果没有打开(如您所见)。如果使用新信息打开重新加载。
否则,在打开新表单之前,请查看打开的表单(如下所示,来自C#中的this网站):
FormCollection fc = Application.OpenForms;
foreach (Form frm in fc) {
//iterate through
}
对于每个表单检查它的名称是否等于其中一个菜单项,如果它是关闭的(如果需要,在保存后)。然后在退出for循环后,打开新的菜单项。