C#中时间和委托的例子

C#中事件和委托的例子

[日期:2010-11-22]  来源:25175  作者:tongbo  阅读:156 次  [字体: ]
powered by 25175. net

    public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void Form1_Load(object sender, EventArgs e)
{
}
private void button1_Click(object sender, EventArgs e)
{
Car car = new Car();
car.OnOilWarning += new OilEventHandler(OilWarning); //关联事件
car.FillOil(5);
car.Startup();
}
public void OilWarning(object sender, OilEventArgs e)
{
MessageBox.Show("监测到了汽车油量异常,当前油量为:" + e.OilMass);
}
}
//事件代理,可以理解为这个事件要传送什么内容
//事件参数我们使用自己写的 OilEventArgs
public delegate void OilEventHandler(object sender, OilEventArgs e);
//事件参数
public class OilEventArgs : System.EventArgs
{
private int _oilMass = 0; //油量
public int OilMass
{
get
{
return _oilMass;
}
}
public OilEventArgs(int oilMass)
{
_oilMass = oilMass;
}
}
//汽车类,包含事件成员
//当启动汽车时,如果油量少于某一个值,将会触发事件
public class Car
{
private int _oilMass = 0; //油量
public event OilEventHandler OnOilWarning; //定义事件成员,事件名称为 OnOilWarning
//给汽车加油
public void FillOil(int oilMass)
{
_oilMass = oilMass;
}
//启动汽车
public void Startup()
{
if (_oilMass < 10)
{
OnOilWarning(this, new OilEventArgs(_oilMass));
}
}
}



  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值