C# System.Timers.Timer定时更新UI、关闭窗口 作者:马育民 • 2024-08-25 18:25 • 阅读:10023 # 说明 使用 `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("执行定时函数"); } ``` 原文出处:https://malaoshi.top/show_1IX8J2pUDQMN.html