// Token: 0x0600002C RID: 44 RVA: 0x00002D0C File Offset: 0x00000F0C private void cmbx_SelectedValueChanged(object sender, EventArgs e) { if (((Control)sender).Visible && this._clickedsubitem != null) { if (sender.GetType() == typeof(EXComboBox)) { EXComboBox excmbx = (EXComboBox)sender; object item = excmbx.SelectedItem; if (item.GetType() == typeof(EXComboBox.EXImageItem)) { EXComboBox.EXImageItem imgitem = (EXComboBox.EXImageItem)item; if (this._col == 0) { if (this._clickeditem.GetType() == typeof(EXImageListViewItem)) { ((EXImageListViewItem)this._clickeditem).MyImage = imgitem.MyImage; } else if (this._clickeditem.GetType() == typeof(EXMultipleImagesListViewItem)) { EXMultipleImagesListViewItem imglstvitem = (EXMultipleImagesListViewItem)this._clickeditem; imglstvitem.MyImages.Clear(); imglstvitem.MyImages.AddRange(new object[] { imgitem.MyImage }); } } else if (this._clickedsubitem.GetType() == typeof(EXImageListViewSubItem)) { EXImageListViewSubItem imgsub = (EXImageListViewSubItem)this._clickedsubitem; imgsub.MyImage = imgitem.MyImage; } else if (this._clickedsubitem.GetType() == typeof(EXMultipleImagesListViewSubItem)) { EXMultipleImagesListViewSubItem imgsub2 = (EXMultipleImagesListViewSubItem)this._clickedsubitem; imgsub2.MyImages.Clear(); imgsub2.MyImages.Add(imgitem.MyImage); imgsub2.MyValue = imgitem.MyValue; } } else if (item.GetType() == typeof(EXComboBox.EXMultipleImagesItem)) { EXComboBox.EXMultipleImagesItem imgitem2 = (EXComboBox.EXMultipleImagesItem)item; if (this._col == 0) { if (this._clickeditem.GetType() == typeof(EXImageListViewItem)) { ((EXImageListViewItem)this._clickeditem).MyImage = (Image)imgitem2.MyImages[0]; } else if (this._clickeditem.GetType() == typeof(EXMultipleImagesListViewItem)) { EXMultipleImagesListViewItem imglstvitem = (EXMultipleImagesListViewItem)this._clickeditem; imglstvitem.MyImages.Clear(); imglstvitem.MyImages.AddRange(imgitem2.MyImages); } } else if (this._clickedsubitem.GetType() == typeof(EXImageListViewSubItem)) { EXImageListViewSubItem imgsub = (EXImageListViewSubItem)this._clickedsubitem; if (imgitem2.MyImages != null) { imgsub.MyImage = (Image)imgitem2.MyImages[0]; } } else if (this._clickedsubitem.GetType() == typeof(EXMultipleImagesListViewSubItem)) { EXMultipleImagesListViewSubItem imgsub2 = (EXMultipleImagesListViewSubItem)this._clickedsubitem; imgsub2.MyImages.Clear(); imgsub2.MyImages.AddRange(imgitem2.MyImages); imgsub2.MyValue = imgitem2.MyValue; } } } ComboBox c = (ComboBox)sender; this._clickedsubitem.Text = c.Text; c.Visible = false; this._clickeditem.Tag = null; } }
private void cmbx_SelectedValueChanged(object sender, EventArgs e) { if (((Control)sender).Visible == false || _clickedsubitem == null) { return; } if (sender.GetType() == typeof(EXComboBox)) { EXComboBox excmbx = (EXComboBox)sender; object item = excmbx.SelectedItem; //Is this an combobox item with one image? if (item.GetType() == typeof(EXComboBox.EXImageItem)) { EXComboBox.EXImageItem imgitem = (EXComboBox.EXImageItem)item; //Is the first column clicked -- in that case it's a ListViewItem if (_col == 0) { if (_clickeditem.GetType() == typeof(EXImageListViewItem)) { ((EXImageListViewItem)_clickeditem).MyImage = imgitem.MyImage; } else if (_clickeditem.GetType() == typeof(EXMultipleImagesListViewItem)) { EXMultipleImagesListViewItem imglstvitem = (EXMultipleImagesListViewItem)_clickeditem; imglstvitem.MyImages.Clear(); imglstvitem.MyImages.AddRange(new object[] { imgitem.MyImage }); } //another column than the first one is clicked, so we have a ListViewSubItem } else { if (_clickedsubitem.GetType() == typeof(EXImageListViewSubItem)) { EXImageListViewSubItem imgsub = (EXImageListViewSubItem)_clickedsubitem; imgsub.MyImage = imgitem.MyImage; } else if (_clickedsubitem.GetType() == typeof(EXMultipleImagesListViewSubItem)) { EXMultipleImagesListViewSubItem imgsub = (EXMultipleImagesListViewSubItem)_clickedsubitem; imgsub.MyImages.Clear(); imgsub.MyImages.Add(imgitem.MyImage); imgsub.MyValue = imgitem.MyValue; } } //or is this a combobox item with multiple images? } else if (item.GetType() == typeof(EXComboBox.EXMultipleImagesItem)) { EXComboBox.EXMultipleImagesItem imgitem = (EXComboBox.EXMultipleImagesItem)item; if (_col == 0) { if (_clickeditem.GetType() == typeof(EXImageListViewItem)) { ((EXImageListViewItem)_clickeditem).MyImage = (Image)imgitem.MyImages[0]; } else if (_clickeditem.GetType() == typeof(EXMultipleImagesListViewItem)) { EXMultipleImagesListViewItem imglstvitem = (EXMultipleImagesListViewItem)_clickeditem; imglstvitem.MyImages.Clear(); imglstvitem.MyImages.AddRange(imgitem.MyImages); } } else { if (_clickedsubitem.GetType() == typeof(EXImageListViewSubItem)) { EXImageListViewSubItem imgsub = (EXImageListViewSubItem)_clickedsubitem; if (imgitem.MyImages != null) { imgsub.MyImage = (Image)imgitem.MyImages[0]; } } else if (_clickedsubitem.GetType() == typeof(EXMultipleImagesListViewSubItem)) { EXMultipleImagesListViewSubItem imgsub = (EXMultipleImagesListViewSubItem)_clickedsubitem; imgsub.MyImages.Clear(); imgsub.MyImages.AddRange(imgitem.MyImages); imgsub.MyValue = imgitem.MyValue; } } } } ComboBox c = (ComboBox)sender; _clickedsubitem.Text = c.Text; c.Visible = false; _clickeditem.Tag = null; }
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); }