OwnerDrawn ListBox пустой, когда он теряет фокус - PullRequest
1 голос
/ 13 июня 2011

Я подписываюсь на событие 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;
    }
}

1 Ответ

1 голос
/ 13 июня 2011

отметьте это

   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);

        }
    }
...