public delegate void UpdateTaskList( );//声明一个更新主线程的委托 public void UpdateCleanCardListview() { if (ListCleanedCard.InvokeRequired) { UpdateTaskList updatedelegate = new UpdateTaskList(UpdateCleanCardListview); ParentForm.Invoke(updatedelegate, new object[] { }); } else { ListCleanedCard.Items.Clear(); List <CleanListView> ul = new List <CleanListView>(); DataInfo.GetCleanListInfo(ref ul); foreach (var i in ul) { ListViewItem col = ListCleanedCard.Items.Add(i.Sequence.ToString()); col.SubItems.Add(i.time.ToString()); string cardname = ""; string workName = i.WorkCard; if (cm.Cardlist.ContainsKey(i.CleanCard)) { cardname = cm.Cardlist[i.CleanCard]; } if (cm.Cardlist.ContainsKey(i.WorkCard)) { workName = cm.Cardlist[i.WorkCard]; } col.SubItems.Add(i.CleanCard); col.SubItems.Add(cardname); col.SubItems.Add(workName); col.SubItems.Add(i.cleanprc); } } }
public delegate void UpdateTaskList(TaskInfo step);//声明一个更新主线程的委托 //绑定工作人员卡和内镜卡 public void AddTaskList(TaskInfo info) { try { EXListView iTaskList = TaskList[info.Group]; if (iTaskList.InvokeRequired) { UpdateTaskList updatedelegate = new UpdateTaskList(AddTaskList); ParentForm.Invoke(updatedelegate, new object[] { info }); } else { iTaskList.BeginUpdate(); //movie EXListViewItem item = new EXListViewItem(info.Card); string cardname = ""; string workName = info.CleanWorker; if (Cardlist.ContainsKey(info.Card)) { cardname = Cardlist[info.Card]; } if (Cardlist.ContainsKey(info.CleanWorker)) { workName = Cardlist[info.CleanWorker]; } item.SubItems.Add(cardname); item.SubItems.Add(workName); item.SubItems.Add(info.errorInfo); for (int i = 4; i < iTaskList.Columns.Count; i++) { EXControlListViewSubItem cs = new EXControlListViewSubItem(); SkinProgressBar b = new SkinProgressBar(); b.TextFormat = SkinProgressBar.TxtFormat.None; b.Tag = item; b.Minimum = 0; b.Maximum = 100; b.Step = 1; item.SubItems.Add(cs); iTaskList.AddControlToSubItem(b, cs); } iTaskList.Items.Add(item); EXControlListViewSubItem subitem = item.SubItems[info.Step + 3] as EXControlListViewSubItem; SkinProgressBar p = subitem.MyControl as SkinProgressBar; p.Maximum = info.Time * 10; Thread th = new Thread(new ParameterizedThreadStart(UpdateProgressBarMethod)); th.IsBackground = true; th.Start(p); iTaskList.EndUpdate(); } } catch (Exception ex) { LogHelper.WriteLog(typeof(Exception), ex); } }
//开始清洗工作并开始计时 public void StartTask(TaskInfo info) { try { EXListView iTaskList = TaskList[info.Group]; if (iTaskList.InvokeRequired) { UpdateTaskList updatedelegate = new UpdateTaskList(StartTask); ParentForm.Invoke(updatedelegate, new object[] { info }); } else { ListViewItem foundItem = iTaskList.FindItemWithText(info.Card, true, 0); //参数1:要查找的文本;参数2:是否子项也要查找;参数3:开始查找位置 { foundItem.SubItems[3].Text = info.errorInfo; } if (info.bStart) { if (info.Step > 1) { EXControlListViewSubItem Stopsubitem = foundItem.SubItems[info.Step + 2] as EXControlListViewSubItem; SkinProgressBar Stopp = Stopsubitem.MyControl as SkinProgressBar; progressList.Add(Stopp); } EXControlListViewSubItem subitem = foundItem.SubItems[info.Step + 3] as EXControlListViewSubItem; SkinProgressBar p = subitem.MyControl as SkinProgressBar; p.Maximum = info.Time * 10; Thread th = new Thread(new ParameterizedThreadStart(UpdateProgressBarMethod)); th.IsBackground = true; th.Start(p); } } } catch (Exception ex) { LogHelper.WriteLog(typeof(Exception), ex); } }
public void Endupdate(TaskInfo info) { EXListView iTaskList = TaskList[info.Group]; if (iTaskList.InvokeRequired) { UpdateTaskList updatedelegate = new UpdateTaskList(Endupdate); ParentForm.Invoke(updatedelegate, new object[] { info }); } else { ListViewItem foundItem = iTaskList.FindItemWithText(info.Card, false, 0); //参数1:要查找的文本;参数2:是否子项也要查找;参数3:开始查找位置 for (int i = 4; i < iTaskList.Columns.Count; i++) { EXControlListViewSubItem subitem = foundItem.SubItems[i] as EXControlListViewSubItem; iTaskList.RemoveControlFromSubItem(subitem); } iTaskList.Items.Remove(foundItem); } }