C# System.Timers.Timer定时更新UI、关闭窗口

说明

使用 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("执行定时函数");
}