首页 > 代码库 > 【2016-11-6】【坚持学习】【Day21】【主窗口关闭时,同步关闭它的子窗口】

【2016-11-6】【坚持学习】【Day21】【主窗口关闭时,同步关闭它的子窗口】

本来想用委托实现的。但是又觉得没有必要。

方法如下:

 

  public MainWindow()
        {
            InitializeComponent();

            this.Closing += MainWindow_Closing;
        }

        private void MainWindow_Closing(object sender, System.ComponentModel.CancelEventArgs e)
        {
            foreach (Window w in this.OwnedWindows)
            {
                if (w!=null)
                {
                    w.Close();
                }
            }
            MessageBox.Show("所有子窗口关闭完成。");
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            for (int i = 0; i < 10; i++)
            {
                SubWindow s = new SubWindow("sub window"+i.ToString());
                s.Owner = this;
                s.Show();
            }
         
        }

 

【2016-11-6】【坚持学习】【Day21】【主窗口关闭时,同步关闭它的子窗口】