Вы правы, этого свойства не существует.Элемент управления TreeView
отобразит горизонтальную полосу прокрутки, если метки для любого из узлов длиннее, чем видимая область для элемента управления.
Единственный вариант, который необходимо заменить на многоточие, - это рисование владельцемконтроль.Но так как вы хотите изменить только текст узлов, вы можете установить для свойства DrawMode
значение OwnerDrawText
(вместо OwnerDrawAll
), что значительно уменьшает бремя рисования владельцем.
Вы можете найти образец кода для рисования владельцем элемента управления TreeView
здесь, в MSDN .
Помните, что свойство ClientRectangle
элемента управления,включая элемент управления TreeView
, сообщит вам фактическую ширину клиентской области элемента управления.Используйте это, чтобы определить, является ли метка узла слишком длинной и нужно ли ее рисовать эллипсами.
Различные перегрузки метода TextRenderer.DrawText
позволят вам рисоватьузлы помечаются способом, который напоминает способ, которым рисует сам нативный элемент управления (то есть, используя GDI, а не GDI +).Если передать соответствующую комбинацию TextFormatFlags
, метод автоматически обрежет текст и заменит его многоточием.