我有这个C#代码,我希望它每分钟触发一次。
private void MyFunction()
{
if (DateTime.Now.Hour == 6 && ranalarm == false)
{
ranalarm = true;
Event();
}
else if (DateTime.Now.Hour != 6 && ranalarm == true)
{
ranalarm = false;
}
}
如何使函数MyFunction()
在C#中每分钟触发一次?
我尝试使用计时器,但是Visual Studio说它与我的System.Windows.Forms
冲突。
答案 0 :(得分:3)
您可以使用System.Threading.Timer
和TimeSpan
。像这样:
TimeSpan start = TimeSpan.Zero;
TimeSpan minutes = TimeSpan.FromMinutes(1);
var timer = new System.Threading.Timer(c =>
{
MyFunction();
}, null, start, minutes);
答案 1 :(得分:1)
这是我的解决方案。不使用线程。简单容易,但可以完成工作
Timer testTimer;
public void initTimer()
{
testTimer = new Timer();
testTimer.Tick += testTimer_tick ;
testTimer.Interval = 1000; //timer interval in mili seconds;
testTimer.Start();
}
public void testTimer_tick(object sender, EventArgs e)
{
MyFunction(); // your function comes here
}
您可以复制并粘贴。
接下来,只需在表单加载事件中调用initTimer()
方法即可。