我的示例应用程序中有2个Windows(学习.Net 4 WPF)
在第一个窗口中,我有一个计时器,当5秒钟过后,我想关闭当前窗口并打开一个新窗口。
我遇到的问题是关闭第一个窗口
以下是一些示例代码
MainWindow m = new MainWindow();
m.ShowDialog();
this.Hide();
this.Hide实际上从未隐藏过当前窗口。我最终在屏幕上有2个窗口,而不是1个。
答案 0 :(得分:2)
在ShowDialog的评论中,它说When this method is called, the code following it is not executed until after the dialog box is closed.
因此,您只需交换ShowDialog
和Hide
的顺序即可。并且你必须在'ShowDialog'之后使用'Show'或'Close'来显示第一个表格或关闭它。
另请注意,closing a form(您所说的想做的)与hiding a form(您目前正在做的事情)不同。
答案 1 :(得分:1)
MainWindow m = new MainWindow();
this.Hide();
m.ShowDialog();