protected override void OnMeasureItem(MeasureItemEventArgs e) { if (e.Index >= 0 && e.Index < Items.Count) { IListControlRenderer renderer = GetRenderer(); ImageComboItem imageComboItem = GetItem(e.Index); if (imageComboItem != null) { SizeF sizeF = renderer.MeasureItem(this, e.Graphics, imageComboItem); e.ItemHeight = ImageList == null ? (int)sizeF.Height + Padding.Vertical : (int)Math.Max(sizeF.Height, ImageList.ImageSize.Height) + Padding.Vertical; } } base.OnMeasureItem(e); }
protected override void OnDrawItem(DrawItemEventArgs e) { IListControlRenderer renderer = GetRenderer(); ImageComboItem imageComboItem = e.Index >= 0 ? (Items[e.Index] is ImageComboItem ? (ImageComboItem)Items[e.Index] : new ImageComboItem(Items[e.Index].ToString())) : new ImageComboItem(Text); var e1 = new ListControlDrawItemEventArgs(e, imageComboItem) { Image = GetItemImage(imageComboItem), Offset = Padding.Left }; renderer.DrawItemBackground(this, e1); renderer.DrawItemImage(this, e1); renderer.DrawItemText(this, e1); }
protected override void OnDrawItem(DrawItemEventArgs e) { IListControlRenderer renderer = GetRenderer(); ImageComboItem imageComboItem = GetItem(e.Index); var e1 = new ListControlDrawItemEventArgs(e, imageComboItem) { Image = GetItemImage(imageComboItem), Offset = Padding.Left }; if (HoverIndex == e.Index) { e1.State |= DrawItemState.HotLight; } renderer.DrawItemBackground(this, e1); renderer.DrawItemImage(this, e1); renderer.DrawItemText(this, e1); }