web-dev-qa-db-ja.com

TreeViewを常に完全に展開して表示する方法はありますか?

フォームにTreeViewがありますが、子ノードであっても、常に完全に展開されるようにしたいと思います。

方法はありますか?

21
delete

最初に展開して表示しますか?その場合は、すべてのツリーノードを追加した後、ルートノードで ExpandAll メソッドを呼び出します。

展開して表示し、ユーザーが折りたたむことができないようにする場合は、 BeforeCollapsed イベントを処理してキャンセルする必要があります。 (セットする e.Cancel = true;)。

30
Scott Dorman

1つの方法は、次のように 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();
   }
}
6
TreDubZedd

WPFの場合、1つの方法は、ツリービューを完全に展開したままにすることです。

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

ここで推測しています... BeforeCollapsedイベントで、e.Cancel = true;を設定します。

3
1

このコードを使用します:

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