• WinForm小小应用


    制作日历计划任务

    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();//开始执行线程
            }
  • 相关阅读:
    算法市场 Algorithmia
    Cucumber
    TeamCity 持续集成工具
    自动化测试
    Selenium
    Android耗时操作
    RecyclerView
    Android报错
    Lakeshore
    BaaS_后端即服务 RESTful
  • 原文地址:https://www.cnblogs.com/chenyongblog/p/3258371.html
Copyright © 2020-2023  润新知