private void listBox_DrawItem(object sender, DrawItemEventArgs e)
{
Brush myBrush = Brushes.Black;
Color RowBackColorSel = Color.FromArgb(150, 200, 250);//选择项目颜色
if ((e.State & DrawItemState.Selected) == DrawItemState.Selected)
{
myBrush = new SolidBrush(RowBackColorSel);
}
else
{
myBrush = new SolidBrush(Color.White);
}
e.Graphics.FillRectangle(myBrush, e.Bounds);
e.DrawFocusRectangle();//焦点框
//绘制图标
Image image = imageList1.Images[e.Index];
Graphics g = e.Graphics;
Rectangle bounds = e.Bounds;
Rectangle imageRect = new Rectangle(
bounds.X,
bounds.Y,
bounds.Height,
bounds.Height);
Rectangle textRect = new Rectangle(
imageRect.Right,
bounds.Y,
bounds.Width - imageRect.Right,
bounds.Height);
if (image != null)
{
g.DrawImage(
image,
imageRect,
0,
0,
image.Width,
image.Height,
GraphicsUnit.Pixel);
}
//文本
StringFormat strFormat = new StringFormat();
//strFormat.Alignment = StringAlignment.Center;
strFormat.LineAlignment = StringAlignment.Center;
e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), e.Font, new SolidBrush(e.ForeColor), textRect, strFormat);
}