我正在 Windows 窗体 (C#) 中编写一个应用程序,我想在布局中设置一个区域,用户可以在其中定义给定的时间。
然后,当用户点击“开始”按钮时,每个给定的小时都会执行一个方法。
最简单的方法是什么?
最佳答案
一个简单的 WinForms 计时器就可以完成这项工作:
DateTime runTime;
public Form1() {
InitializeComponent();
DateTime nowTime = DateTime.Now;
runTime = new DateTime(nowTime.Year, nowTime.Month, nowTime.Day, 12, 0, 0);
timer1.Interval = 500;
}
void timer1_Tick(object sender, EventArgs e) {
if (DateTime.Now > runTime) {
timer1.Stop();
MessageBox.Show("It's time!");
}
}
void button1_Click(object sender, EventArgs e) {
timer1.Start();
}
只需用小时和/或分钟更新运行时间值即可。除非程序正在运行,否则警报显然不会被触发。正如汉斯指出的,这需要服务。
关于c# - 特定时间运行方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23764104/