日期:2014-05-19  浏览次数:20861 次

触发事件的疑问。
自己写上一个类,类有一个公共属可以设定一个时间,也定义一个事件。如果到这个时间后,这个类会触发这个事件。像一个闹钟。
问题是,我如何完全靠代码去写这个类呢?

------解决方案--------------------
用Timer是个好办法.不知道LZ是在什么程序中用. 建议用System.Threading.Timer,它可以用在Windows Service中(System.Windows.Forms.Timer 一般不行),而且可以让它只触发一次.

System.Threading.Timer myTimer = new System.Threading.Timer(MyCallBack);

//System.Threading.Timeout.Infinite 保证它只触发一次.
myTimer.Change(MyFireTime.Subtract(System.DateTime.Now ), System.Threading.Timeout.Infinite);

private void MyCallBack(object state)
{
//做闹钟里要做的工作.
}