我订阅了ListBox.DrawItem
事件,当它有焦点时它会很好地绘制,但是当我离开它时它什么都没有。
private void lbHeader_DrawItem(object sender, DrawItemEventArgs e)
{
e.Graphics.FillRectangle(SystemBrushes.Window, e.Bounds);
e.Graphics.FillRectangle(SystemBrushes.GradientActiveCaption, e.Bounds);
int left = e.Bounds.Left + ImageList.ImageSize.Width;
for (int i = 0; i < Columns.Count; i++)
{
Rectangle textRect = Rectangle.FromLTRB(
left, e.Bounds.Top, e.Bounds.Right, e.Bounds.Bottom);
TextRenderer.DrawText(e.Graphics, "Some Text", e.Font, textRect,
FontColor, TextFormatFlags.Left | TextFormatFlags.VerticalCenter);
left += Columns[i].Width;
}
}
答案 0 :(得分:1)
检查这个
private void listBox1_DrawItem(object sender, DrawItemEventArgs e)
{
if (e.Index > 0)
{
e.DrawBackground();
e.Graphics.DrawString(listBox1.Items[e.Index].ToString(), this.Font, Brushes.Black, e.Bounds);
}
}