C# 有没有办法让树状视图看起来总是完全扩展的?

C# 有没有办法让树状视图看起来总是完全扩展的?,c#,winforms,treeview,C#,Winforms,Treeview,我的表单上有一个树状视图,但我希望它总是完全扩展,即使是子节点 有办法吗?猜猜看。。。在BeforeClopsed事件上,设置e.Cancel=true 一种方法是这样使用: private void myCheckBox\u checked已更改(对象发送方,System.EventArgs e) { //如果选中该复选框,则展开所有树节点。 如果(myCheckBox.Checked==true) { myTreeView.ExpandAll(); } 其他的 { myTreeView.Co

我的表单上有一个树状视图,但我希望它总是完全扩展,即使是子节点


有办法吗?

猜猜看。。。在BeforeClopsed事件上,设置e.Cancel=true

一种方法是这样使用:

private void myCheckBox\u checked已更改(对象发送方,System.EventArgs e)
{
//如果选中该复选框,则展开所有树节点。
如果(myCheckBox.Checked==true)
{
myTreeView.ExpandAll();
}
其他的
{
myTreeView.CollapseAll();
}
}

是否希望它最初显示为展开?如果是,则在添加所有树节点后,在根节点上调用该方法


如果希望它显示为展开,而不允许用户折叠它,则需要处理事件并取消它。(设置
e.Cancel=true;
)。

尝试TreeNode.EnsureRevible方法-[1]:

使用以下代码:

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

您可能想知道将
treeview1.expandAll()语句放在哪里?不能将其放入设计器生成的代码中,否则将在下次表单刷新/保存时删除

我把它放在“Form1.cs”代码中,在处理表单初始化的部分类中,它是有效的。就在InitializeComponent()语句之后(如果您不知道我在说什么,请查找该语句)

希望有帮助:)


警察局。谢谢你们的支持,你们太棒了,伙计们

在WPF中,一种方法是保持树视图完全展开:



可能是我说的话和阿什顿说的话的结合。这是WinForm还是WebForm?我认为它们都有一个TreeView控件。实际上,它不一定要在添加所有树节点之后,但至少要添加一个。如果您有一个始终更新的树,则这是有用的信息。@kdmin:我认为您总是希望在添加所有树节点之后调用
ExpandAll()
,以便在控件初始化之后进行扩展;否则,我认为节点的状态可能会失去同步。感谢您的评论@IgnacioAra,它现在已更新为文本。