说明
使用 System.Timers.Timer 定时器,不能直接更新UI、关闭窗口,否则会报错
允许跨线程操作此窗口
在 InitializeComponent(); 代码的下面增加下面代码:
//允许跨线程操作此窗口
CheckForIllegalCrossThreadCalls = false;
创建定时器对象
System.Timers.Timer timer = new System.Timers.Timer(3000);
设置定时器
显示窗口时设置定时器:
private void Form2_Load(object sender, EventArgs e)
{
t.Elapsed += new System.Timers.ElapsedEventHandler(Execute);//到达时间的时候执行事件;
t.AutoReset = false;//设置是执行一次(false)还是一直执行(true);
t.Start(); //启动定时器
}
public void Execute(object source, System.Timers.ElapsedEventArgs e)
{
this.Close();// 关闭窗口
Console.WriteLine("执行定时函数");
}