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

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

根据上文,在子窗口设置一个委托。然后在子窗口关闭事件,执行委托实例,然后在主窗口增加监听委托的方法。。。。

想想,本事关闭事件就是一个特殊的委托。那么干嘛还要特意去声明一个新的呢?多此一举。

于是有下面的实现:

 

   public partial class MainWindow : Window
    {
      
        public MainWindow()
        {
            InitializeComponent();
        }

        private void Button_Click(object sender, RoutedEventArgs e)
        {
            SubWindow s = new SubWindow();
            s.Closed += S_Closed;
            s.Show();
        }

        private void S_Closed(object sender, EventArgs e)
        {
            MessageBox.Show("子窗口要关闭啦。我们也要同步关闭了。");
            this.Close();
        }

    }

 

 

说明:

1、这里由于特殊,主窗口 和 子窗口是有直接调用的代码,所以可以这样搞。那么如果他们之间 不是直接调用的话,那么还是要用委托处理了。

2、类,自身可能已经封装了各种各样的委托,我们不妨多看看类定义。

 

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