110,538
社区成员
发帖
与我相关
我的任务
分享
//数据处理类
public delegate void ListenerHandler();
public class DataProcess
{
public event ListenerHandler OnDataChangeEvent = null;
public DataProcess()
{
System.Timers.Timer t = new System.Timers.Timer(1000);//实例化Timer类,设置间隔时间为10000毫秒;
t.Elapsed += new System.Timers.ElapsedEventHandler(DoSomeThing);//到达时间的时候执行事件;
t.AutoReset = true;
t.Enabled = true;
}
public void DoSomeThing(object source, System.Timers.ElapsedEventArgs e)
{
if (OnDataChangeEvent != null)//确定事件已被订阅(注册过)
{
OnDataChangeEvent();//触发事件
}
}
}
class Program
{
static void Main(string[] args)
{
DataProcess dd = new DataProcess();
dd.OnDataChangeEvent += new ListenerHandler(ShowData);//订阅(注册)DataProcess类OnDataChangeEvent事件
Console.ReadKey();
}
//事件处理方法
private static void ShowData()
{
Console.WriteLine("DataProcess类中有数据变化");
}
}
private void WorkThread()
{
while (true)
{
this.label1.BeginInvoke((MethodInvoker)delegate
{
label1.Text = DateTime.Now.ToString("yyyy-MM-dd HH:mm:ss");
});
Thread.Sleep(500);
}
}