窗体之间传递消息并不罕见,实现方式各有不同,今天主要记录下C#当中通过委托(Delegate)实现主窗体向多个子窗体发送消息的简单示例。
一、原理分析
壹般来说,壹个应用程序是由若干个窗体构成的,通过适当的交互逻辑在不同窗体之间建立起联系。当主窗体不方便直接调用子窗体内部的方法时,可通过委托的方式来间接调用。只需要子窗体定义壹个满足主窗体声明的委托要求的方法即可。然后在主窗体实例化从窗体,并将委托变量和从窗体方法关联起来,再调用委托来完成!
二、代码实现
1、主窗体
主窗体当中放置两个按钮为计数和重置,按钮事件分别为ClickMe和ResetMe,在此只附上C#代码,XAML布局代码略。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows;
using System.Windows.Controls;
using System.Windows.Data;
using System.Windows.Documents;
using System.Windows.Input;
using System.Windows.Media;
using System.Windows.Media