Exemplo n.º 1
0
 /// <summary>
 /// 添加定时
 /// </summary>
 /// <param name="tr"></param>
 private bool AddTimedRemind(TimedRemind tr, bool isRun = true)
 {
     listTimedRemind.Add(tr);
     listTimedRemind[listTimedRemind.Count - 1].BindTimedDone(TimedRemindDone);
     if (isRun == false || listTimedRemind[listTimedRemind.Count - 1].Start())
     {
         AddListViewTimed(listViewTimed, listTimedRemind[listTimedRemind.Count - 1]);
         //Task.Factory.StartNew(() =>
         //{
         //    Thread.Sleep(5000);
         //    this.Invoke(new Action(() =>
         //    {
         //        TimedRemind tmp = new TimedRemind(tr.ToString(), TimedRemindDone);
         //        tmp.Mark += " - Copy";
         //        if (tmp.Status != TimedRemind.EnmuTimedStatus.Done)
         //        {
         //            listTimedRemind.Add(tmp);
         //        }
         //    }));
         //});
         return(true);
     }
     else
     {
         listTimedRemind.RemoveAt(listTimedRemind.Count - 1);
         return(false);
     }
 }
Exemplo n.º 2
0
        /// <summary>
        /// 添加定时到列表中
        /// </summary>
        /// <param name="listView"></param>
        /// <param name="tr"></param>
        private void AddListViewTimed(ListView listView, TimedRemind tr)
        {
            ListViewItem listViewItem = new ListViewItem();

            listViewItem.Text = (listView.Items.Count + 1).ToString();
            listViewItem.SubItems.Add(tr.StartTime.ToString("HH:mm:ss"));
            listViewItem.SubItems.Add(tr.EndTime.ToString("HH:mm:ss"));
            listViewItem.SubItems.Add(GetOverTime(tr).ToString("HH:mm:ss"));
            listViewItem.SubItems.Add(GetTimeLoopName(tr));
            listViewItem.SubItems.Add(tr.Mark);
            listView.Items.Add(listViewItem);
        }
Exemplo n.º 3
0
        /// <summary>
        /// 获取定时剩余时间
        /// </summary>
        /// <param name="tr"></param>
        /// <returns></returns>
        private DateTime GetOverTime(TimedRemind tr)
        {
            DateTime over = new DateTime(DateTime.Now.Year, DateTime.Now.Month, DateTime.Now.Day, 0, 0, 0);

            try
            {
                over = over.AddSeconds(tr.EndTime.Subtract(DateTime.Now).TotalSeconds);
            }
            catch (Exception err)
            {
                Console.WriteLine(err.Message);
            }
            return(over);
        }
Exemplo n.º 4
0
 private void TimedRemindDone(object sender)
 {
     try
     {
         TimedRemind tm = (TimedRemind)sender;
         this.Invoke(new Action(() =>
         {
             ShowForm(this.notifyIconCtrl);
             Form formMessage = new FormRemind(tm.Mark);
             formMessage.Show();
         }));
     }
     catch (Exception err)
     {
         Console.WriteLine(err.Message);
     }
 }
Exemplo n.º 5
0
 /// <summary>
 /// 加载任务定时文件
 /// </summary>
 /// <param name="filePath">加载文件路径</param>
 private void LoadTimedRemind(string filePath)
 {
     if (File.Exists(filePath))
     {
         using (FileStream fs = new FileStream(filePath, FileMode.Open))
         {
             StreamReader sr = new StreamReader(fs);
             while (!sr.EndOfStream)
             {
                 TimedRemind tr = new TimedRemind(sr.ReadLine());
                 if (tr.Status == TimedRemind.EnmuTimedStatus.Run)
                 {
                     AddTimedRemind(tr, false);
                 }
             }
         }
     }
 }
Exemplo n.º 6
0
        /// <summary>
        /// 获取定时循环名称
        /// </summary>
        /// <param name="tr"></param>
        /// <returns></returns>
        private String GetTimeLoopName(TimedRemind tr)
        {
            String name;

            switch (tr.TimeLoop)
            {
            case TimedRemind.EnmuTimeLoop.One:
                name = "单次运行";
                break;

            case TimedRemind.EnmuTimeLoop.More:
                name = "周期运行";
                break;

            default:
                name = "未知";
                break;
            }
            return(name);
        }
Exemplo n.º 7
0
 /// <summary>
 /// 更新现有列表中的数据
 /// </summary>
 /// <param name="listViewItem"></param>
 /// <param name="tr"></param>
 private void UpdataListViewItem(ListViewItem listViewItem, TimedRemind tr)
 {
     if (listViewItem.SubItems[1].Text != tr.StartTime.ToString("HH:mm:ss"))
     {
         listViewItem.SubItems[1].Text = tr.StartTime.ToString("HH:mm:ss");
     }
     if (listViewItem.SubItems[2].Text != tr.EndTime.ToString("HH:mm:ss"))
     {
         listViewItem.SubItems[2].Text = tr.EndTime.ToString("HH:mm:ss");
     }
     if (listViewItem.SubItems[3].Text != GetOverTime(tr).ToString("HH:mm:ss"))
     {
         listViewItem.SubItems[3].Text = GetOverTime(tr).ToString("HH:mm:ss");
     }
     if (listViewItem.SubItems[4].Text != GetTimeLoopName(tr))
     {
         listViewItem.SubItems[4].Text = GetTimeLoopName(tr);
     }
     if (listViewItem.SubItems[5].Text != tr.Mark)
     {
         listViewItem.SubItems[5].Text = tr.Mark;
     }
 }