Текст ListView усекается - как мне отобразить весь текст элемента? - PullRequest
7 голосов
/ 29 ноября 2010

Вот изображение System.Windows.Forms.ListView с использованием LargeIcons

alt text

Выбранный элемент показывает весь его текст

например, верхний левый элементпоказывает только 11 символов его имени, он отображается полностью, если он выбран.Как сделать так, чтобы он отображал весь текст (или не менее 11 символов) для не выделенных элементов?

Ответы [ 3 ]

2 голосов
/ 14 декабря 2010

Есть событие DrawItem http://msdn.microsoft.com/en-us/library/system.windows.forms.listview.drawitem.aspx. Внутри этого события у вас есть доступ к методу System.Drawing.Graphics.DrawString.

void view_DrawItem(object sender, DrawListViewItemEventArgs e)
    {
        e.Graphics.DrawString(e.Item.Text, drawFont, Brushes.Black, 
            new RectangleF(e.Item.Position.X,
                e.Item.Position.Y,
                20, 
                160));

    }

Я ввел некоторые значения для ширины / высоты, но вы должныиспользуйте MeasureString или аналогичный метод.Также не забудьте установить OwnerDraw = true в ListView, иначе он не будет работать.

0 голосов
/ 04 февраля 2016

Предостережение: это работало для меня, когда тип представления был Подробности , я не пробовал LargeIcons.

После записи выходных данных (мой был в большом количестве) в просмотр списка добавьте следующее:

lstResults.AutoResizeColumn(0, ColumnHeaderAutoResizeStyle.HeaderSize);
lstResults.AutoResizeColumn(1, ColumnHeaderAutoResizeStyle.ColumnContent);
0 голосов
/ 30 ноября 2010

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...