C# 在同一窗口中单独显示树节点详细信息

C# 在同一窗口中单独显示树节点详细信息,c#,winforms,treeview,nodes,C#,Winforms,Treeview,Nodes,如何在选择后在同一窗口中显示树节点的详细信息,但与层次结构树分开。 到目前为止,我已经使用以下代码成功地在treeview类中显示了详细信息: private void buttonCreateTree_Click(object sender, EventArgs e) { if (xd != null) { TreeNode rootNode = new TreeNode(xd.Root.FirstNode.ToString(

如何在选择后在同一窗口中显示树节点的详细信息,但与层次结构树分开。
到目前为止,我已经使用以下代码成功地在treeview类中显示了详细信息:

  private void buttonCreateTree_Click(object sender, EventArgs e)
    {
        if (xd != null)
        {
            TreeNode rootNode = new TreeNode(xd.Root.FirstNode.ToString());
            AddNode(xd.Root, rootNode);
            treeView1.Nodes.Add(rootNode);

        }
        if (xd == null)
        {
            MessageBox.Show("No saved XML file!");

        }
    }
我读过关于标签的文章,但由于我不太喜欢Windows窗体,我不知道如何正确地实现它们。解决方案的正确语法是什么?
更新:树节点的详细信息是其子组件,具有我创建的自定义属性,如creationDate、LastAccessDate和LastModifiedDate,因此它需要在同一窗口中显示树节点的子元素,但不包括层次结构树?这甚至没有意义O.O

不确定这是否是你想要的,或者如果你是,但你可以玩这个:

面板panel1
添加到表单并连接此事件:

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
{
    if (panel1.Controls.Count == 0)
    {
        panel1.Controls.Add(new TreeView());
        panel1.Controls[0].Dock = DockStyle.Fill;
    }
    TreeView tv = panel1.Controls[0] as TreeView;
    if (tv != null)
    {
        tv.Nodes.Clear();

        // option 1 deep copy:
        TreeNode tc = (TreeNode)e.Node.Clone();
        tv.Nodes.Add(tc);

        // option 2 shallow copy, 1 level
        TreeNode tn =  tv.Nodes.Add(e.Node.Text);
        foreach (TreeNode cn in e.Node.Nodes)
            tn.Nodes.Add(cn.Text);
    }
    tv.ExpandAll();
}
请从两个选项中选择一个,然后再试一次


标签用于存储有用的东西,但它们永远不可见。你需要决定显示什么和如何显示:一行文本,几行,数字,格式化?桌子等。。即使没有选择,只要将鼠标悬停在它上面,就可以显示一个工具提示,即为每个节点指定值。'someNode.ToolTip=someText`。。如果要显示格式化的详细信息,应创建一个usercontrol,该控件包含标签等以显示数据,并具有函数showTag(TreeNode aNodeWithData)。如果节点包含数据,请使用它们,如果它们太复杂,则可将其存储在标记中(可能使用类),然后将标记强制转换为数据类..-您希望显示节点的哪些详细信息?@TaW我正在尝试显示节点的所有子元素,treeview中填充了我桌面上的指定文件夹,要求是,当选择父节点时,它必须在同一窗口中显示所有子元素,但与层次结构树分开…这实际上让我感到困惑,是否可能?要显示子节点(除了通过展开节点来显示它们之外),您需要使用节点及其子节点创建一个新的树。每个节点只能驻留在一个位置,因此需要复制/克隆节点。。你能画出一个理想结果的草图吗?我会这样做的,因为我找不到任何其他方式来显示节点的细节和子元素,我想不到的唯一方式是通过工具提示…这很好,谢谢