添加到对象的TreeView未显示在UI中

本文关键字:显示 UI TreeView 对象 添加 | 更新日期: 2023-09-27 18:27:13

我正在尝试创建一个对话框,用户可以在其中选择TreeView中的一个节点,以便将一些数据保存到该节点。

树本身是在一个单独的控件中创建的(用于浏览/打开节点的内容),我的想法是我应该在保存控件中使用该树。

我的构造函数是这样的:

public FrmSaveToRepository(TreeView tree)
{
    InitializeComponent();
    this.treeView = tree;
}

但是当持有控件的窗体弹出时,treeView为空。我错过了一步吗?

我用以下代码打开我的表格:

var frm = new FrmSaveToRepository(tree);
frm.Show();

添加到对象的TreeView未显示在UI中

没错,因此将旧节点添加到新树的正确方法是:

public FrmSaveToRepository(TreeView tree)
{
    InitializeComponent();
    foreach (TreeNode node in tree.Nodes)
    {
        this.treeView1.Nodes.Add(node.Clone() as TreeNode);
    }
}

但这仍然意味着所有事件和处理程序必须在新树中单独实现。