Цвет фона свободного пространства C# ColumnHeader

Я пытаюсь нарисовать пользовательские заголовки столбцов в элементе управления FastObjectListView.

Пока код работает, но свободное пространство ColumnHeaders (так что часть, которая не содержит заголовков столбцов atm) по-прежнему рисуется по умолчанию.

    private void olvMain_DrawColumnHeader(object sender, DrawListViewColumnHeaderEventArgs e)
    {
        e.Graphics.FillRectangle(Brushes.Black,
            e.Bounds.X, e.Bounds.Y,
            e.Bounds.Width, e.Bounds.Height);

        e.Graphics.DrawRectangle(Pens.Lime,
            e.Bounds.X - 1, e.Bounds.Y - 1,
            e.Bounds.Width - 1, e.Bounds.Height - 1);

        e.DrawText();

        e.DrawDefault = false;
    }

Я добавил:

e.DrawDefault = false;

потому что без этого стиль по умолчанию для заголовков столбцов был нарисован поверх моего пользовательского стиля, но поскольку свободное пространство столбцов не содержит заголовков столбцов, он по-прежнему рисуется в стиле по умолчанию.

Вот рисунок, чтобы пояснить, что я имею в виду под свободным пространством Columnheader: Ссылка на изображение

Заранее спасибо.


person Restart    schedule 28.01.2010    source источник


Ответы (1)


Область, которая не окрашена в черный цвет, находится за пределами клиентской области заголовков и поэтому не может быть окрашена элементом управления.

Нет простого способа изменить цвет этой области. Взгляните на этот вопрос и его ответ на увидеть некоторые возможные решения.

person Grammarian    schedule 28.01.2010