C#中timer定时器的用法
Timer定时器,如果没有stop,是会按指定间隔时间一直重复执行的,
所以如果只想执行一次,必须得关闭。
System.Timers.Timer t = new System.Timers.Timer(10000);//实例化Timer类,设置间隔时间为10000毫秒;
t.Elapsed += new System.Timers.ElapsedEventHandler(Execute);//到达时间的时候执行事件;
t.AutoReset = true;//设置是执行一次(false)还是一直执行(true);
t.Enabled = true;//是否执行System.Timers.Timer.Elapsed事件;
t.Start(); //启动定时器
//上面初始化代码可以写到构造函数中
public void Execute(object source, System.Timers.ElapsedEventArgs e)
{
t.Stop(); //先关闭定时器
MessageBox.Show("OK!");
t.Start(); //执行完毕后再开启器
}
示例
需求就是,在代码启动后,自动调用AutoLoadGeo
方法。
System.Timers.Timer t = new System.Timers.Timer(2000);
public MainWindow()
{
InitializeComponent();
Console.WriteLine();
t.Elapsed += new ElapsedEventHandler(AutoLoadGeo);//到达时间的时候执行事件;
t.AutoReset = true;
t.Start();
}
private void AutoLoadGeo(object source, ElapsedEventArgs e)
{
t.Stop(); // 这里关闭它,就只是执行一次了。
Console.WriteLine("ok");
}
C#实现定时器的几种方案
如何将参数传递给ElapsedEventHandler调用的函数?
WPF:解决 调用线程无法访问此对象,因为另一个线程拥有该对象问题
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!