フォームにTreeViewがありますが、子ノードであっても、常に完全に展開されるようにしたいと思います。
方法はありますか?
最初に展開して表示しますか?その場合は、すべてのツリーノードを追加した後、ルートノードで ExpandAll
メソッドを呼び出します。
展開して表示し、ユーザーが折りたたむことができないようにする場合は、 BeforeCollapsed
イベントを処理してキャンセルする必要があります。 (セットする e.Cancel = true;
)。
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();
}
}
WPFの場合、1つの方法は、ツリービューを完全に展開したままにすることです。
<TreeView.ItemContainerStyle>
<Style TargetType="{x:Type TreeViewItem}">
<Setter Property="IsExpanded" Value="True" />
</Style>
</TreeView.ItemContainerStyle>
ここで推測しています... BeforeCollapsedイベントで、e.Cancel = true;を設定します。
このコードを使用します:
private void ManagerFolder_Load(object sender, EventArgs e)
{
treeView.ExpandAll();
treeView.Nodes[0].FirstNode.Collapse();
treeView.Nodes[4].FirstNode.Collapse();
}
TreeNode.EnsureVisibleメソッドを試してください-[1]: https://msdn.Microsoft.com/en-us/library/system.windows.forms.treenode.ensurevisible(v = vs.90).aspx