/* * OnMeasureItem */ /// <summary> /// Raises the <see cref="E:System.Windows.Forms.ComboBox.MeasureItem"></see> event. /// </summary> /// <param name="e">The <see cref="T:System.Windows.Forms.MeasureItemEventArgs"></see> that was raised.</param> protected override void OnMeasureItem(MeasureItemEventArgs e) { Size itemSize = NuGenItemService.GetItemSize( e.Graphics, this.ImageList, this.GetItemText(this.Items[e.Index]), this.Font ); e.ItemWidth = itemSize.Width; e.ItemHeight = itemSize.Height; }
/* * OnDrawItem */ /// <summary> /// Raises the <see cref="E:System.Windows.Forms.ListBox.DrawItem"></see> event. /// </summary> /// <param name="e">A <see cref="T:System.Windows.Forms.DrawItemEventArgs"></see> that contains the event data.</param> protected override void OnDrawItem(DrawItemEventArgs e) { if (e.Index < 0 || this.Items.Count < 1) { return; } NuGenItemParams itemParams = new NuGenItemParams(this, e.Graphics, e.Bounds, e.State); itemParams.Font = this.Font; itemParams.ForeColor = e.ForeColor; if (this.ImageList != null) { itemParams.Image = this.ImageListService.FindImageAtIndex(this.ImageList, e.Index); } itemParams.Text = this.GetItemText(this.Items[e.Index]); this.Renderer.DrawItem(NuGenItemService.BuildItemPaintParams(itemParams)); }