每2秒运行一个函数
本文关键字:一个 函数 2秒 运行 | 更新日期: 2023-09-27 18:16:07
public void InitTimer()
{
timer1 = new Timer();
timer1.Tick += new EventHandler(timer1_Tick);
timer1.Interval = 200; // in milliseconds
timer1.Start();
}
private void timer1_Tick(object sender, EventArgs e)
{
MessageBox.Show("test");
}
在。net中,我如何每小时(或每小时特定的时间间隔)引发一个事件?
我是c#的新手,但我不知道哪里出了问题。我试图在这个例子中每2秒显示一个消息框。没有错误,消息框只是没有显示。
您忘记在加载中调用函数了
我尝试了您的代码(将200ms更改为2000ms),并且确实每2秒显示一次消息框,因此问题不在于代码,而更有可能是您调用它的方式。我刚刚创建了一个示例Winforms应用程序,并在窗体的Load事件中调用InitTimer:
private void Form1_Load(object sender, EventArgs e)
{
InitTimer();
}
当您创建项目时,您是否创建了Windows窗体应用程序?例如,您不应该创建控制台应用程序。
Timer timer1 = new Timer();
timer1.Tick += new EventHandler(timer1_Tick);
timer1.Interval = 2000; // in miliseconds
timer1.Start();
您需要在timer1之前添加一个额外的Timer这是可行的,但请确保您初始化定时器
将定时器的间隔设置为您需要的值。
200表示200ms
所以Interval = 2000表示代码每两秒触发一次
但是你的问题在哪里?什么不起作用?还有一些关于ui和非ui线程的问题
一小时有60分钟,一分钟有60秒,一秒有1000毫秒所以你可以有
timer1.Interval = 60 * 60 * 1000; // Every hour
如果您想避免锁定线程,您可以始终生成一个新线程并在那里继续轮询。使用相同的代码,但是