【问题标题】:treeview - first node appears/displayed under roottreeview - 第一个节点出现/显示在根目录下
【发布时间】: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(); 是否仍然会发生? ?
  • 嗯...从技术上讲,不,因为默认情况下树是折叠的

标签: c# winforms treeview


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-01-01
    • 1970-01-01
    • 2011-05-11
    相关资源
    最近更新 更多