打开另一个窗口后关闭窗口?

时间:2014-01-27 08:57:18

标签: c# wpf

我正在研究WPF项目,假设我有两个windows window1,window2,window1调用window2:在window1代码后面:

Window2 _window2 = new Window2();
_window2.ShowDialog();

我想知道在打开secound窗口(window2)后如何关闭第一个窗口(window1)?

3 个答案:

答案 0 :(得分:0)

在关闭主窗口(如果是)之前,您需要先告诉应用程序哪个是主窗口。根据关闭模式,如果关闭主窗口,则会关闭应用程序。您可以使用Application.Current.MainWindow属性进行设置。 See Here.

如果您希望在打开第二个窗口后关闭第一个窗口,则需要挂钩事件,或者最好还是使用解耦消息系统来通知第二个窗口打开第二个窗口。

答案 1 :(得分:0)

<强> Form1中:

Window2 _window2 = new Window2();
this.Hide(); //Hides Form 1
_window2.ShowDialog();

另见: Close a Window from Another In Wpf 如果你想让window1关闭。

答案 2 :(得分:0)

如果“Window1”不是您的主窗口,您只需输入此

即可
Window2 _window2 = new Window2();
_window2.Show();
this.Close();

如果您的表单是主要表单而不是引用 (Windows Forms: Change application mainwindow at runtime