Windows Forms ListView в подробном режиме — как изменить высоту строки в рисовании владельца?

У меня есть элемент управления Windows Forms ListView в режиме сведений. В игре несколько столбцов. Я пытаюсь использовать отрисовку владельца, чтобы разместить особенно широкий столбец «ниже» других.

Итак, вместо этого:

COLUMN1  COLUMN2  COLUMN3  COLUMNNNNNNNNNNNNNNNNNNN4

Я пытаюсь сделать это:

COLUMN1  COLUMN2  COLUMN3
COLUMNNNNNNNNNNNNNNNNNNN4

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


person Daniel Henry    schedule 25.01.2010    source источник


Ответы (2)


Все строки в ListView должны быть одинаковой высоты. Вы можете получить высокую строку, вмещающую более одной строки текста, сделав шрифт большим, а затем используя маленький шрифт в обработчике событий DrawItem.

Если это слишком ограничительно, вам следует взглянуть на DataGridView или пользовательский сторонний компонент.

person Hans Passant    schedule 29.01.2010

ListView не может этого сделать. Ну... может, но только с ObjectListView, да и то не легкий. Есть пример, показывающий, как сделать что-то подобное, но не совсем:

alt text
(источник: sourceforge.net)

Попробуйте использовать фантастический список в стиле Outlook Ли Пола Александра.

альтернативный текст

person Grammarian    schedule 25.01.2010