2012-02-13 2 views
1

Со ссылкой на мой предыдущий вопрос: Changing Font Size for ListView Column in C#. Я хотел бы знать, как изменить высоту столбца в спискеView с включенным OwnerDraw.Изменение высоты столбца для столбца ListView

Мне удалось изменить шрифт, используя следующий код.

 using (Font headerFont = 
       new Font("Helvetica", 10, FontStyle.Bold)) //Font size!!!! 
    { 
     e.Graphics.DrawString(e.Header.Text, headerFont, 
      Brushes.Black, e.Bounds, sf); 
    } 

Хотя я не могу изменить размер столбца, давая ему эффект отсечки. Я играл с Rectangle.Bounds, но это, кажется, только для чтения.

Любые предложения?

Спасибо

+1

Это очень некрасиво, вам придется вызывать SendMessage(). LVM_GETHEADER, чтобы получить элемент управления заголовком, HDM_LAYOUT, чтобы получить текущий макет, SetWindowPos(), чтобы изменить размер. –

ответ

0

Я решил использовать альтернативный подход для своего приложения. Я решил полностью удалить заголовок и заменить его ярлыками в панели контейнеров.

Это было достигнуто путем изменения свойства HeaderStyle свойства listView на «None». Результат позволил мне состыковать ярлыки с вершиной моего спискаView, предоставив мне более крупный текст, который я получил после!

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

Спасибо за вашу помощь, и дайте мне знать, если вы хотите более подробно

Euan

0

Вы можете попробуйте Better ListView Express. Это позволяет изменять высоту заголовка столбца на произвольные размеры. Он также бесплатный, а использование на 99% аналогично использованию ListView.

Смежные вопросы