C# 如何在listview列中添加treeview选定项?

C# 如何在listview列中添加treeview选定项?,c#,winforms,listview,treeview,treeviewitem,C#,Winforms,Listview,Treeview,Treeviewitem,我想将树视图中的那些选定项添加到listview。请帮我摆脱这个 private void treeView1_AfterSelect(object sender, TreeViewEventArgs e) { PopulateListView(e.Node.Checked.ToString()); } void PopulateListView(string path) { listView1.Clear();

我想将树视图中的那些选定项添加到listview。请帮我摆脱这个

private void treeView1_AfterSelect(object sender, TreeViewEventArgs e)
    {
        PopulateListView(e.Node.Checked.ToString());
    }

    void PopulateListView(string path)
    {
        listView1.Clear();

        DirectoryInfo di = new DirectoryInfo(path);

        if (di.Exists)
        {
            foreach (DirectoryInfo d in di.GetDirectories())
            {
                listView1.Items.Add(new ListViewItem(d.Name));
            }

            foreach (FileInfo f in di.GetFiles())
            {
                listView1.Items.Add(new ListViewItem(f.Name));
            }
        }
    }

e.Node.Checked.ToString()
不是路径。尝试
PopulateListView(例如Node.ToString())相反。TreeNode是TreeNode,ListViewItem是ListViewItem;您可以只复制文本,也可以在每个项/节点的标记中存储对相应其他类型的引用。您的目标似乎是获取listviewitem.text中的完整路径?最简单的方法是在填充树时将目录或fileinfo对象或至少完整路径存储在树节点中。然后您可以将它们拉出,转换为您使用的类型,并获取路径数据以填充lvi.text。。