protected override void OnDrawItem(DrawItemEventArgs e)
{
e.DrawBackground();
e.DrawFocusRectangle();
if (e.Index >= 0 && e.Index < Items.Count)
{
Device dev = (Device)Items[e.Index];
Image image = ImageList.Images[dev.ImageKey];
image = ResizeImage(image, 48, 48);
Rectangle r = e.Bounds;
r.Size = image.Size;
r.X += 2;
r.Y += (e.Bounds.Height - r.Height) / 2;
e.Graphics.DrawImageUnscaled(image, r);
r = e.Bounds;
r.X += image.Width + 2;
r.Width -= image.Width + 2;
using (StringFormat sf = new StringFormat())
{
sf.LineAlignment = StringAlignment.Center;
e.Graphics.DrawString(dev.Name, Font, new SolidBrush(ForeColor), r, sf);
}
}
base.OnDrawItem(e);
}