制作日历计划任务
private void BeginTask() { Thread th = new Thread(//建立线程 (() =>//使用Lambda表达式 { while (true)//无限循环 { for (int i = 0; i < G_Task.Count; i++)//循环任务集合 { if (DateTime.Now.ToShortDateString() == //判断是否执行任务 G_Task[i].Date.ToShortDateString()) { this.Invoke(//调用窗体线程 ((MethodInvoker)(() =>//使用Lambda表达式 { Form P_Form = new Form();//创建窗体对象 Label lb_txt = new Label();//创建Label标签 lb_txt.Text = G_Task[i].Task;//设置标签文本 lb_txt.Font = new Font("隶书", 30);//设置标签字体 lb_txt.AutoSize = true;//设置标签自动调整大小 lb_txt.ForeColor = Color.Blue;//设置文字颜色 P_Form.Controls.Add(lb_txt);//将标签加入窗体控件集合 P_Form.Width = 500;//设置窗体宽度 P_Form.Height = 100;//设置窗体高度 P_Form.StartPosition = //设置窗体开始位置 FormStartPosition.CenterScreen; P_Form.Text = "任务提示!";//设置窗体标题文本 P_Form.Show();//显示窗体 }))); new DataTier().Delete(//从数据库中删除数据 G_Task[i].Date.ToShortDateString(), G_Task[i].Task); Thread.Sleep(2000);//线程挂起2秒 G_Task.RemoveAt(i);//删除任务集合中的任务 this.Invoke(//调用窗体线程 ((MethodInvoker)(() =>//使用Lambda表达式 { GetMessage();//显示任务信息 }))); break;//退出循环 } } Thread.Sleep(5000);//线程挂起5秒 } })); th.IsBackground = true;//设置线程为后台线程 th.Start();//开始执行线程 }