阅读量:0
在C#中,你可以使用TaskScheduler
类来设置定时任务。以下是一个简单的示例,演示了如何使用TaskScheduler
创建一个每天凌晨执行的任务:
using System; using System.Threading.Tasks; using System.Windows.Forms; namespace ScheduledTaskExample { public partial class Form1 : Form { private TaskScheduler _scheduler; private Task _task; public Form1() { InitializeComponent(); // 创建一个任务调度器实例 _scheduler = new TaskScheduler(); // 创建一个任务 _task = Task.Factory.StartNew(() => { MessageBox.Show("定时任务执行!"); }, CancellationToken.None, TaskCreationOptions.None, _scheduler); } private void button1_Click(object sender, EventArgs e) { // 设置定时任务的时间 DateTime startTime = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0); TimeSpan interval = TimeSpan.FromDays(1); // 将任务添加到调度器 _task = _scheduler.ScheduleTask(startTime, interval, () => { MessageBox.Show("定时任务执行!"); }); } private void button2_Click(object sender, EventArgs e) { // 取消定时任务 if (!_task.IsCanceled) { _task.Cancel(); } } } }
在这个示例中,我们首先创建了一个TaskScheduler
实例,然后创建了一个任务。在button1_Click
事件中,我们设置了定时任务的时间和间隔(这里是每天凌晨),然后将任务添加到调度器。在button2_Click
事件中,我们取消了定时任务。
请注意,这个示例仅适用于Windows Forms应用程序。如果你需要在其他类型的应用程序中设置定时任务,你可能需要使用不同的方法。