【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、类,自身可能已经封装了各种各样的委托,我们不妨多看看类定义。

作者:zscmj
出处:http://www.cnblogs.com/zscmj/
本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

原文地址:https://www.cnblogs.com/zscmj/p/6034795.html