treeview - 第一个节点出现/显示在根目录下

Posted

技术标签:

【中文标题】treeview - 第一个节点出现/显示在根目录下【英文标题】:treeview - first node appears/displayed under root 【发布时间】:2019-09-30 09:48:03 【问题描述】:

我有一个表单、按钮和树视图。我首先将根节点添加到我的树视图中。当按下按钮时,它会向根添加一个节点,但显示如下......

如何防止这种情况发生?

注意,选择根节点可以解决问题。

来自class.cs ...

    Explorer explorer = new Explorer();

    public Form1()
    
        InitializeComponent();
        explorer.init(this.tree);
    

来自 Explorer.cs ...

    private TreeView tree;
    private RootNode root;

    public Explorer()
    
        root = new RootNode();
    

    public void init(TreeView tree)
    
        this.tree = tree;
        tree.LabelEdit = true;
        tree.Nodes.Add(root);
        tree.AfterLabelEdit += this.AfterLabelEdit;
    

还有根节点……

public class RootNode : TreeNode

    public RootNode()
    
        this.Name = "main";
        this.Text = "Main";
    

    // This method called by the button click handler
    public void AddTestCase()
    
        var newNode = new TestCaseNode();
        newNode.Text = "New testcase";
        this.Nodes.Add(newNode);
        this.TreeView.Select();
        newNode.BeginEdit();
    

【问题讨论】:

您的任何课程是否设置字体或所有者绘图? 不,我还没想好。从字面上看,只是在我尝试开始播放之前尝试启动并运行树视图。 选择根节点解决问题对我来说似乎是一个绘画错误。如果您注释掉 newNode.BeginEdit(); 是否仍然会发生? ? 嗯...从技术上讲,不,因为默认情况下树是折叠的 【参考方案1】:

我快速浏览了这些方法并添加了newNode.EnsureVisible()。这解决了我的问题。

【讨论】:

以上是关于treeview - 第一个节点出现/显示在根目录下的主要内容,如果未能解决你的问题,请参考以下文章

ttk.Treeview

vb 怎么实现 treeview部分节点的checkbox显示,部分隐藏

WPF TreeView - TreeViewItem上的上下文菜单不会出现

C#里treeview如何向指定NAME节点添加子节点?

delphi中的treeview控件如何取到选择节点的索引号?

C#treeView是一个代码,用于将子节点安排为其父节点的最后一个子节点