Вид дерева плюс значок минус больше

Как увеличить значки «плюс-минус» в древовидном представлении в С# .net без отключения визуальных стилей.


person Community    schedule 22.10.2008    source источник
comment
Уточните, пожалуйста, какую технологию вы используете. WinForms или WPF?   -  person EFrank    schedule 22.10.2008


Ответы (3)


Я не думаю, что у вас есть какой-либо контроль над этим. Единственное, что вы можете сделать, это переопределить событие DrawNode и нарисовать узлы самостоятельно.

Сначала вам нужно изменить DrawMode на OwnerDrawAll. Взгляните на соответствующую страницу msdn, она содержит на удивление много деталей: http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.drawnode.aspx

person Grzenio    schedule 22.10.2008

Это немного поздно... но только что столкнулся с этим и обнаружил (случайно), что существует (косвенный) способ контролировать размер знаков плюс/минус в TreeView (в WinForms).

В основном вам нужно добавить список изображений, и знаки плюс/минус TreeView будут меняться в зависимости от размера изображений. Чтобы увидеть это в конструкторе, сделайте следующее:

  1. Создайте TreeView в форме и несколько фиктивных узлов (убедитесь, что у вас есть дочерние узлы)
  2. Создайте список изображений и передайте его древовидному представлению (установите его в свойстве ImageList)
  3. Установите для ImageSize списка изображений значение 16,16, для Indent древовидного представления — 3 + размер изображения (19), а для ItemHeight древовидного представления — размер списка изображений (16).
  4. Перейдите в ImageList и измените свойство ImageSize на 24, 24 и измените свойства Indent и ItemHeight, как на шаге 3 (на 27 и 24 соответственно). Теперь у вас должны быть большие знаки Плюс/Минус в древовидном представлении.

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

person user724224    schedule 25.04.2011
comment
Я попробовал это со списком изображений 40x40 и не вижу никаких изменений размера значка плюс/минус. Использовал .NET 3.5. - person jm.; 24.01.2016

Больше, чем стандартные 10 пикселей или около того? Я думаю, следуйте ответу выше, но потому, что я наткнулся на это, пытаясь определить, как восстановить исходный размер:

Оказывается, у вас есть некоторый контроль, если вы установите свойство отступа - все, что меньше 10 пикселей, начинает сжимать значки +/-. У меня было древовидное представление с отступом 5, и я обнаружил, что при восстановлении его до 15 (или даже 10) восстанавливается размер значка.

Я надеюсь, что это поможет кому-то еще найти решение в этой области.

person dwerner    schedule 17.09.2010