12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- using System.Drawing;
- using System.Windows.Forms;
- namespace Optimizer
- {
- public sealed class MoonList : ListBox
- {
- public MoonList()
- {
- this.DrawMode = DrawMode.OwnerDrawVariable;
- this.BorderStyle = BorderStyle.None;
- this.MeasureItem += MoonListBox_MeasureItem;
- this.DrawItem += MoonListBox_DrawItem;
- }
- private void MoonListBox_DrawItem(object sender, DrawItemEventArgs e)
- {
- if (e.Index < 0) return;
- if (this.Items.Count <= 0) return;
- e.DrawBackground();
- Brush myBrush = new SolidBrush(Color.White);
- if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
- {
- e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(50, 50, 50)), e.Bounds);
- }
- else
- {
- e.Graphics.FillRectangle(new SolidBrush(Color.FromArgb(20, 20, 20)), e.Bounds);
- }
- e.Graphics.DrawString(this.Items[e.Index].ToString(), this.Font, myBrush, e.Bounds);
- e.DrawFocusRectangle();
- }
- private void MoonListBox_MeasureItem(object sender, MeasureItemEventArgs e)
- {
- e.ItemHeight = this.Font.Height;
- }
- }
- }
|