我如何使我的TimerAction工作?(Windows窗体应用程序)
本文关键字:Windows 窗体 应用程序 工作 何使 我的 TimerAction | 更新日期: 2023-09-27 18:01:36
我在一个Windows窗体应用程序工作,我需要使用定时器。我有这个方法来设置定时器,以便在特定的时间做某事:
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();
}
我调用SetTimerValue()在我的表单(Form1):
public Form1()
{
InitializeComponent();
SetTimerValue();
}
但是在我运行应用程序并且计时器到达他的时间后,应用程序关闭。这是我的TimerAction方法和参数(object e) ?
TimerAction的相同动作我有它在button1_Click_1(对象发送者,EventArgs e),它的工作。你能帮我吗?由于
你需要使用正确的计时器,即一个将在UI线程上执行的计时器。