一、定义一个事件委托(EventHandler)
class Event
{
public static event EventHandler RemainChage;
}
二、定义一个属性和方法,该方法实现属性值的输出
class Event
{
public static event EventHandler RemainChage;
private static int remainTime = -1;
public static int RemainTime
{
get { return remainTime; }
set
{
remainTime = value;
}
}
public static void ShowRemainTime(object sender, EventArgs e)
{
Console.WriteLine(RemainTime);
}
}
三、将定义好的事件委托和方法进行绑定,其作用是当运行事件委托时就会执行该方法
class Event
{
public static event EventHandler RemainChage;
private static int remainTime = -1;
public static int RemainTime
{
get { return remainTime; }
set
{
remainTime = value;
}
}
public static void ShowRemainTime(object sender, EventArgs e)
{
Console.WriteLine(RemainTime);
}
public static void InitEventHandle()
{
RemainChage += ShowRemainTime;
}
}
四、修改属性实现当给属性赋值的时候触发事件委托
class Event
{
public static event EventHandler RemainChage;
private static int remainTime = -1;
public static int RemainTime
{
get { return remainTime; }
set
{
remainTime = value;
RemainChage?.Invoke(new object(), new EventArgs());
}
}
public static void ShowRemainTime(object sender, EventArgs e)
{
Console.WriteLine(RemainTime);
}
public static void InitEventHandle()
{
RemainChage += ShowRemainTime;
}
}
五、调用事件委托和方法的绑定方法实现绑定
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Event.InitEventHandle();
}
}
六、在按钮单机事件中修改属性值
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
Event.InitEventHandle();
}
private void button1_Click(object sender, EventArgs e)
{
if (Event.RemainTime < 60)
Event.RemainTime++;
}
}
七、结果显示