Есть ли способ заставить TreeView всегда полностью расширяться?

У меня есть TreeView в моей форме, но я бы хотел, чтобы он всегда был полностью расширен, даже дочерние узлы.

Есть ли способ?

Ответы

Ответ 1

Вы хотите, чтобы изначально отображалось расширенное? Если это так, то вызовите метод ExpandAll на корневом узле после того, как вы добавили все узлы дерева.

Если вы хотите, чтобы он отображался расширенным и не позволял пользователю свернуть его, вам необходимо обработать событие BeforeCollapsed и отменить его. (Установите e.Cancel = true;).

Ответ 2

Одним из способов является использование TreeView.ExpandAll() следующим образом:

private void myCheckBox_CheckedChanged(object sender, System.EventArgs e)
{
   // If the check box is checked, expand all the tree nodes.
   if (myCheckBox.Checked == true)
   {
      myTreeView.ExpandAll();
   }
   else
   {
      myTreeView.CollapseAll();
   }
}

Ответ 3

В WPF одним из способов является полное расширение представления дерева:

<TreeView.ItemContainerStyle>
    <Style TargetType="{x:Type TreeViewItem}">
        <Setter Property="IsExpanded" Value="True" />
    </Style>
</TreeView.ItemContainerStyle>

Ответ 4

Угадайте здесь... В событии BeforeCollapsed установите e.Cancel = true;

Ответ 7

Используйте этот код:

private void ManagerFolder_Load(object sender, EventArgs e)
{
    treeView.ExpandAll();
    treeView.Nodes[0].FirstNode.Collapse();
    treeView.Nodes[4].FirstNode.Collapse();
}

Ответ 8

Вам может быть интересно, куда положить инструкцию treeview1.expandAll()? Вы не можете поместить его в код, созданный конструктором, или он будет удален при следующем обновлении/сохранении формы.

Я поместил его в код "Form1.cs", в части частичного класса, которая занимается инициализацией формы, и она работает. Сразу после утверждения InitializeComponent() (если вы не знаете, о чем я говорю, просто найдите этот оператор)

Надеюсь, это поможет:)

PD. Спасибо за вашу поддержку, вы здорово, ребята!