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 static void Create(int row) { _lv.Items.Clear(); _process.ForEach(item => { _lv.Controls.Remove(item); }); _process.Clear(); for (int i = 0; i < row; i++) { EXListViewItem lvi = new EXListViewItem(); EXControlListViewSubItem cs = new EXControlListViewSubItem(); ProgressBar pb = new ProgressBar(); lvi.SubItems[0].Text = "Đang lấy link."; //lvi.SubItems.Add(""); //lvi.SubItems.Add("0"); //lvi.SubItems.Add(""); //lvi.SubItems.Add(""); _lv.Items.Add(lvi); //var s = lvi.Bounds; //Rectangle r = lvi.SubItems[1].Bounds; //pb.SetBounds(r.X, r.Y - 2, r.Width, r.Height - 4); pb.Minimum = 0; pb.Maximum = 100; pb.Value = 0; pb.Step = 1; lvi.SubItems.Add(cs); _lv.AddControlToSubItem(pb, cs); // _lv.Controls.Add(pb); _process.Add(pb); } }
private void InitializeComponent() { //imglst_genre ImageList imglst_genre = new ImageList(); imglst_genre.ColorDepth = ColorDepth.Depth32Bit; imglst_genre.Images.Add(Image.FromFile("music.png")); imglst_genre.Images.Add(Image.FromFile("love.png")); imglst_genre.Images.Add(Image.FromFile("comedy.png")); imglst_genre.Images.Add(Image.FromFile("drama.png")); imglst_genre.Images.Add(Image.FromFile("horror.ico")); imglst_genre.Images.Add(Image.FromFile("family.ico")); //excmbx_genre EXComboBox excmbx_genre = new EXComboBox(); excmbx_genre.DropDownStyle = ComboBoxStyle.DropDownList; excmbx_genre.MyHighlightBrush = Brushes.Goldenrod; excmbx_genre.ItemHeight = 20; excmbx_genre.Items.Add(new EXComboBox.EXImageItem(imglst_genre.Images[0], "Music")); excmbx_genre.Items.Add(new EXComboBox.EXImageItem(imglst_genre.Images[1], "Romantic")); excmbx_genre.Items.Add(new EXComboBox.EXImageItem(imglst_genre.Images[2], "Comedy")); excmbx_genre.Items.Add(new EXComboBox.EXImageItem(imglst_genre.Images[3], "Drama")); excmbx_genre.Items.Add(new EXComboBox.EXImageItem(imglst_genre.Images[4], "Horror")); excmbx_genre.Items.Add(new EXComboBox.EXImageItem(imglst_genre.Images[5], "Family")); excmbx_genre.Items.Add(new EXComboBox.EXMultipleImagesItem(new ArrayList(new object[] { Image.FromFile("love.png"), Image.FromFile("comedy.png") }), "Romantic comedy")); //excmbx_rate EXComboBox excmbx_rate = new EXComboBox(); excmbx_rate.MyHighlightBrush = Brushes.Goldenrod; excmbx_rate.DropDownStyle = ComboBoxStyle.DropDownList; ImageList imglst_rate = new ImageList(); imglst_rate.ColorDepth = ColorDepth.Depth32Bit; imglst_rate.Images.Add(Image.FromFile("rate.png")); for (int i = 1; i < 6; i++) { ArrayList _arlst1 = new ArrayList(); for (int j = 0; j < i; j++) { _arlst1.Add(imglst_rate.Images[0]); } excmbx_rate.Items.Add(new EXComboBox.EXMultipleImagesItem("", _arlst1, i.ToString())); } //lstv lstv = new EXListView(); lstv.MySortBrush = SystemBrushes.ControlLight; lstv.MyHighlightBrush = Brushes.Goldenrod; lstv.GridLines = true; lstv.Location = new Point(10, 40); lstv.Size = new Size(500, 400); lstv.ControlPadding = 4; lstv.MouseMove += new MouseEventHandler(lstv_MouseMove); lstv.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); //add SmallImageList to ListView - images will be shown in ColumnHeaders ImageList colimglst = new ImageList(); colimglst.Images.Add("down", Image.FromFile("down.png")); colimglst.Images.Add("up", Image.FromFile("up.png")); colimglst.ColorDepth = ColorDepth.Depth32Bit; colimglst.ImageSize = new Size(20, 20); // this will affect the row height lstv.SmallImageList = colimglst; //add columns and items lstv.Columns.Add(new EXEditableColumnHeader("Movie", 20)); lstv.Columns.Add(new EXColumnHeader("Progress", 120)); lstv.Columns.Add(new EXEditableColumnHeader("Genre", excmbx_genre, 60)); lstv.Columns.Add(new EXEditableColumnHeader("Rate", excmbx_rate, 100)); lstv.Columns.Add(new EXColumnHeader("Status", 80)); EXBoolColumnHeader boolcol = new EXBoolColumnHeader("Conclusion", 80); boolcol.Editable = true; boolcol.TrueImage = Image.FromFile("true.png"); boolcol.FalseImage = Image.FromFile("false.png"); lstv.Columns.Add(boolcol); lstv.BeginUpdate(); for (int i = 0; i < 100; i++) { //movie EXListViewItem item = new EXListViewItem(i.ToString()); EXControlListViewSubItem cs = new EXControlListViewSubItem(); ProgressBar b = new ProgressBar(); b.Tag = item; b.Minimum = 0; b.Maximum = 1000; b.Step = 1; item.SubItems.Add(cs); lstv.AddControlToSubItem(b, cs); //genre item.SubItems.Add(new EXMultipleImagesListViewSubItem(new ArrayList(new object[] { imglst_genre.Images[1], imglst_genre.Images[2] }), "Romantic comedy")); //rate item.SubItems.Add(new EXMultipleImagesListViewSubItem(new ArrayList(new object[] { imglst_rate.Images[0] }), "1")); //cancel and resume EXControlListViewSubItem cs1 = new EXControlListViewSubItem(); LinkLabel llbl = new LinkLabel(); llbl.Text = "Start"; llbl.Tag = cs; llbl.LinkClicked += new LinkLabelLinkClickedEventHandler(llbl_LinkClicked); item.SubItems.Add(cs1); lstv.AddControlToSubItem(llbl, cs1); //conclusion item.SubItems.Add(new EXBoolListViewSubItem(true)); lstv.Items.Add(item); } lstv.EndUpdate(); //statusstrip1 statusstrip1.Items.AddRange(new ToolStripItem[] { toolstripstatuslabel1 }); //btn btn.Location = new Point(10, 450); btn.Text = "Remove Control"; btn.AutoSize = true; btn.Click += new EventHandler(btn_Click); //btn2 btn2.Location = new Point(btn.Right + 20, 450); btn2.Text = "Remove Image"; btn2.AutoSize = true; btn2.Click += new EventHandler(btn2_Click); //this this.ClientSize = new Size(520, 510); this.Controls.Add(statusstrip1); Label lbl = new Label(); lbl.Text = "Doubleclick on the subitems to edit..."; lbl.Bounds = new Rectangle(10, 10, 480, 20); this.Controls.Add(lbl); this.Controls.Add(lstv); this.Controls.Add(btn); this.Controls.Add(btn2); }
private void InitializeComponent() { //imglst_genre ImageList imglst_genre = new ImageList(); imglst_genre.ColorDepth = ColorDepth.Depth32Bit; imglst_genre.Images.Add(Image.FromFile("music.png")); imglst_genre.Images.Add(Image.FromFile("love.png")); imglst_genre.Images.Add(Image.FromFile("comedy.png")); imglst_genre.Images.Add(Image.FromFile("drama.png")); imglst_genre.Images.Add(Image.FromFile("horror.ico")); imglst_genre.Images.Add(Image.FromFile("family.ico")); //excmbx_genre EXComboBox excmbx_genre = new EXComboBox(); excmbx_genre.DropDownStyle = ComboBoxStyle.DropDownList; excmbx_genre.MyHighlightBrush = Brushes.Goldenrod; excmbx_genre.ItemHeight = 20; excmbx_genre.Items.Add(new EXComboBox.EXImageItem(imglst_genre.Images[0], "Music")); excmbx_genre.Items.Add(new EXComboBox.EXImageItem(imglst_genre.Images[1], "Romantic")); excmbx_genre.Items.Add(new EXComboBox.EXImageItem(imglst_genre.Images[2], "Comedy")); excmbx_genre.Items.Add(new EXComboBox.EXImageItem(imglst_genre.Images[3], "Drama")); excmbx_genre.Items.Add(new EXComboBox.EXImageItem(imglst_genre.Images[4], "Horror")); excmbx_genre.Items.Add(new EXComboBox.EXImageItem(imglst_genre.Images[5], "Family")); excmbx_genre.Items.Add(new EXComboBox.EXMultipleImagesItem(new ArrayList(new object[] {Image.FromFile("love.png"), Image.FromFile("comedy.png")}), "Romantic comedy")); //excmbx_rate EXComboBox excmbx_rate = new EXComboBox(); excmbx_rate.MyHighlightBrush = Brushes.Goldenrod; excmbx_rate.DropDownStyle = ComboBoxStyle.DropDownList; ImageList imglst_rate = new ImageList(); imglst_rate.ColorDepth = ColorDepth.Depth32Bit; imglst_rate.Images.Add(Image.FromFile("rate.png")); for (int i = 1; i < 6; i++) { ArrayList _arlst1 = new ArrayList(); for (int j = 0; j < i; j++) { _arlst1.Add(imglst_rate.Images[0]); } excmbx_rate.Items.Add(new EXComboBox.EXMultipleImagesItem("", _arlst1, i.ToString())); } //lstv lstv = new EXListView(); lstv.MySortBrush = SystemBrushes.ControlLight; lstv.MyHighlightBrush = Brushes.Goldenrod; lstv.GridLines = true; lstv.Location = new Point(10, 40); lstv.Size = new Size(500, 400); lstv.ControlPadding = 4; lstv.MouseMove += new MouseEventHandler(lstv_MouseMove); lstv.Anchor = ((System.Windows.Forms.AnchorStyles)((((System.Windows.Forms.AnchorStyles.Top | System.Windows.Forms.AnchorStyles.Bottom) | System.Windows.Forms.AnchorStyles.Left) | System.Windows.Forms.AnchorStyles.Right))); //add SmallImageList to ListView - images will be shown in ColumnHeaders ImageList colimglst = new ImageList(); colimglst.Images.Add("down", Image.FromFile("down.png")); colimglst.Images.Add("up", Image.FromFile("up.png")); colimglst.ColorDepth = ColorDepth.Depth32Bit; colimglst.ImageSize = new Size(20, 20); // this will affect the row height lstv.SmallImageList = colimglst; //add columns and items lstv.Columns.Add(new EXEditableColumnHeader("Movie", 20)); lstv.Columns.Add(new EXColumnHeader("Progress", 120)); lstv.Columns.Add(new EXEditableColumnHeader("Genre", excmbx_genre, 60)); lstv.Columns.Add(new EXEditableColumnHeader("Rate", excmbx_rate, 100)); lstv.Columns.Add(new EXColumnHeader("Status", 80)); EXBoolColumnHeader boolcol = new EXBoolColumnHeader("Conclusion", 80); boolcol.Editable = true; boolcol.TrueImage = Image.FromFile("true.png"); boolcol.FalseImage = Image.FromFile("false.png"); lstv.Columns.Add(boolcol); lstv.BeginUpdate(); for (int i = 0; i < 100; i++) { //movie EXListViewItem item = new EXListViewItem(i.ToString()); EXControlListViewSubItem cs = new EXControlListViewSubItem(); ProgressBar b = new ProgressBar(); b.Tag = item; b.Minimum = 0; b.Maximum = 1000; b.Step = 1; item.SubItems.Add(cs); lstv.AddControlToSubItem(b, cs); //genre item.SubItems.Add(new EXMultipleImagesListViewSubItem(new ArrayList(new object[] {imglst_genre.Images[1], imglst_genre.Images[2]}), "Romantic comedy")); //rate item.SubItems.Add(new EXMultipleImagesListViewSubItem(new ArrayList(new object[] {imglst_rate.Images[0]}), "1")); //cancel and resume EXControlListViewSubItem cs1 = new EXControlListViewSubItem(); LinkLabel llbl = new LinkLabel(); llbl.Text = "Start"; llbl.Tag = cs; llbl.LinkClicked += new LinkLabelLinkClickedEventHandler(llbl_LinkClicked); item.SubItems.Add(cs1); lstv.AddControlToSubItem(llbl, cs1); //conclusion item.SubItems.Add(new EXBoolListViewSubItem(true)); lstv.Items.Add(item); } lstv.EndUpdate(); //statusstrip1 statusstrip1.Items.AddRange(new ToolStripItem[] {toolstripstatuslabel1}); //btn btn.Location = new Point(10, 450); btn.Text = "Remove Control"; btn.AutoSize = true; btn.Click += new EventHandler(btn_Click); //btn2 btn2.Location = new Point(btn.Right + 20, 450); btn2.Text = "Remove Image"; btn2.AutoSize = true; btn2.Click += new EventHandler(btn2_Click); //this this.ClientSize = new Size(520, 510); this.Controls.Add(statusstrip1); Label lbl = new Label(); lbl.Text = "Doubleclick on the subitems to edit..."; lbl.Bounds = new Rectangle(10, 10, 480, 20); this.Controls.Add(lbl); this.Controls.Add(lstv); this.Controls.Add(btn); this.Controls.Add(btn2); }