我正在開發一個在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窗口?
- 2. 打開一個新窗口,WPF
- 3. 從另一個窗口打開WPF窗口
- 4. 更多打開窗口WPF
- 5. 打開一個新窗口
- 6. 打開一個EXE窗口
- 7. 只允許打開一次窗口
- 8. Javascript打開一個窗口打開窗口
- 9. 使用.show()在WPF中打開一個新窗口?
- 10. 在WPF tabcontrol中打開一個彈出窗口
- 11. 從MDI中打開另一個孩子的窗口在MDI中打開窗口
- 12. Kendo UI:當打開一個窗口時,我想替換一個窗口,但不打開一個新窗口
- 13. WPF:同時在一個窗口打開2個頁面
- 14. 在Silverlight中打開一個新窗口
- 15. 在asp.net中打開一個新窗口
- 16. 在PyGame中打開一個新窗口?
- 17. Ax2012窗體只能打開一次
- 18. 窗口不能打開
- 19. 打開一個窗口,關閉一個窗口在PyQt5
- 20. 如何從一個窗口打開一個窗口
- 21. WPF在不關閉原始窗口的情況下打開一個新窗口
- 22. 如何在項目中打開另一個窗口(Xcode窗口)?
- 23. jQuery - >在窗口中打開一個新的小窗口
- 24. 在ASP.NET的彈出窗口中打開一個彈出窗口
- 25. 問題打開的窗口WPF
- 26. 爲什麼WPF窗口沒有打開
- 27. WPF/C# - 窗口在打開時關閉
- 28. WPF:關閉並打開窗口
- 29. WPF從UserControl打開模式窗口
- 30. 使用命令打開窗口(WPF)
嗯,我是很新的節目。我嘗試了這樣的事情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