【问题标题】:Close Window after open another window?打开另一个窗口后关闭窗口?
【发布时间】:2014-01-27 17:12:48
【问题描述】:

我在 WPF 项目上工作,假设我有两个窗口 window1,window2,window1 call window2: in window1 code behind :

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

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

【问题讨论】:

  • WIndow1 是你的启动窗口吗?
  • 不,两个窗口都不是启动窗口

标签: c# wpf


【解决方案1】:

如果“Window1”不是你的主窗口,你可以输入这个

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

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

【讨论】:

  • 是的,它正在工作,我曾尝试使用 ShowDilog() 来执行此操作,但它不起作用,只需将其更改为 Show() 即可。谢谢
【解决方案2】:

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

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

【讨论】:

    【解决方案3】:

    Form1:

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

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

    【讨论】:

      猜你喜欢
      • 2020-03-19
      • 1970-01-01
      • 1970-01-01
      • 2021-07-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多