我正在开发一个在VB.NET中的WPF项目,并在其中有多个窗口。当用户选择菜单项时,会打开一个新窗口,问题出在用户单击其他菜单项时,当前窗口应该自行关闭。 我如何实现它? 谢谢!WPF中只能打开一个窗口?
回答
我想你的意思是这基于您的评论:
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
谢谢。那工作。那么问题是我必须明确地关闭窗口。我不想这样做。如果我点击任何其他窗口,当前打开的窗口应该关闭。谢谢! – WPFcitizen 2012-03-22 16:40:53
有两种方法可以做到这一点:
如果菜单项共享相同的形式,然后在表单中创建一个子程序,你打电话,而不是新的,来检查它是否已经显示/创建,如果不会打开(因为您已经拥有)。如果打开,则用新信息重新加载。
否则打开新的形式去虽然开放形式(从this网站在C#如下所示)前:
FormCollection fc = Application.OpenForms;
foreach (Form frm in fc) {
//iterate through
}
每种形式检查,如果它的名字是等于菜单项之一,如果它是关闭它(如果需要保存后)。然后在退出for循环后,打开新的菜单项。
他问的是WPF :) – Silvermind 2012-03-22 06:20:40
ahh谢谢。我误解了:) – Kyra 2012-03-22 18:50:31
- 1. WPF - C# - 只打开父窗口一次
- 2. 一个页面只能在一个窗口中打开
- 3. 如何确保一次只打开一个WPF窗口?
- 4. 在测试打开一个窗口WPF
- 5. 打开一个新窗口,WPF
- 6. 从另一个窗口打开WPF窗口
- 7. 更多打开窗口WPF
- 8. 打开的窗口C#WPF
- 9. 打开一个子窗口
- 10. 打开一个新窗口
- 11. 打开一个EXE窗口
- 12. cscript.exe打开一个窗口
- 13. 只允许打开一次窗口
- 14. Javascript打开一个窗口打开窗口
- 15. 打开一个与facebook窗口功能相同的JavaScript窗口
- 16. 在WPF tabcontrol中打开一个弹出窗口
- 17. 在WPF的xaml视图中打开另一个窗口
- 18. 使用.show()在WPF中打开一个新窗口?
- 19. 如何从wpf的第一个窗口打开第二个窗口?
- 20. 从MDI中打开另一个孩子的窗口在MDI中打开窗口
- 21. WPF:同时在一个窗口打开2个页面
- 22. Kendo UI:当打开一个窗口时,我想替换一个窗口,但不打开一个新窗口
- 23. 如何在一个窗口中打开多个Tkinter窗口
- 24. 只在操作中打开一个窗口已执行
- 25. 如何在C#winform中只打开一个窗口
- 26. 如何在只有一个窗口中打开HTML /标签
- 27. 在Silverlight中打开一个新窗口
- 28. 在PyGame中打开一个新窗口?
- 29. 在asp.net中打开一个新窗口
- 30. 在一个窗口中打开IMG
嗯,我是很新的节目。我尝试了这样的事情Dim win3 As New Window3,win3.Show() – WPFcitizen 2012-03-22 06:26:22
没问题。在方法之外放置'Dim win3 As New Window3'。在同一个类中的任何方法内,您可以调用'win3.Show()'和'win3.Close()'在Dim之前公开并且可以通过其他类获得。在任何窗口的代码隐藏内,你可以调用'Me.Close()' – Silvermind 2012-03-22 08:07:50