C#事件_Sample_2
事件的拥有者与事件的响应者是分开的情况
+=是事件订阅操作符,左边是事件,右边是事件处理器。
using System;
using System.Windows.Forms;
/// <summary>
/// 事件的拥有者和事件的响应者是分开的情况
/// </summary>
namespace _20200328_事件_Sample_2
{
class Program
{
static void Main(string[] args)
{
Form form = new Form();
Controller controller = new Controller(form);
form.ShowDialog();
}
}
class Controller
{
private Form form;
public Controller(Form form) //自定义一个接受Form类型参数的构造器
{
if (form != null) //如果一个对象为空,就无法访问它的事件,所以要判断一下
{
this.form = form; //这里可以看出使用this的好处,可以区分出那个是字段,哪个是参数
this.form.Click += this.FormClicked; //为form的Click事件添加事件处理器
}
}
private void FormClicked(object sender, EventArgs e)
{
this.form.Text = DateTime.Now.ToString();
}
}
}


鲁公网安备 37148202000241号