我在Windows Forms应用程序中工作,我需要使用计时器。 我有这个方法来设置计时器,以便在某个时间做某事:
private void SetTimerValue()
{
// trigger the event at 7 AM. For 7 PM use 19 i.e. 24 hour format
// Console.Read();
DateTime requiredTime = DateTime.Today.AddHours(7).AddMinutes(00);
if (DateTime.Now > requiredTime)
{
requiredTime = requiredTime.AddDays(1);
}
// initialize timer only, do not specify the start time or the interval
myTimer = new System.Threading.Timer(new TimerCallback(TimerAction));
// first parameter is the start time and the second parameter is the interval
// Timeout.Infinite means do not repeat the interval, only start the timer
myTimer.Change((int)(requiredTime - DateTime.Now).TotalMilliseconds, Timeout.Infinite);
}
这就是TimerAction:
private void TimerAction(object e)
{
// do some work with my webcam(start recording)
// now, call the set timer method to reset its next call time
SetTimerValue();
}
我在我的表单(Form1)中调用SetTimerValue():
public Form1()
{
InitializeComponent();
SetTimerValue();
}
但是在我运行应用程序和计时器到达他的时间后,应用程序关闭。 我的TimerAction方法和参数(对象e)是什么?
TimerAction的相同操作我在button1_Click_1(对象发送者,EventArgs e)中使用它并且它有效。 你能帮助我吗? 感谢