溫馨提示×

C# taskscheduler如何設置定時任務

c#
小樊
250
2024-10-16 19:15:17
欄目: 編程語言

在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應用程序。如果你需要在其他類型的應用程序中設置定時任務,你可能需要使用不同的方法。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女