步骤:
    1、获取treeview选ree中的结点,并取得结点的数据(一般对象是存放于结点的tag中)
    2、填充listivew 
求实现代码?

解决方案 »

  1.   

    listview.items.add(treeview.selectnode.tag)
      

  2.   


                ListViewItem item = new ListViewItem();
                item.Text = treeView1.SelectedNode.Tag.ToString();
                listView1.Items.Add(item);
      

  3.   


    private void Form2_Load(object sender, EventArgs e)
    {
        treeView1.Nodes.Add("Root 1");
        treeView1.Nodes[0].Nodes.Add("Branch 1_1");
        treeView1.Nodes[0].Nodes[0].Nodes.Add("Leaf 1_1_1");
        treeView1.Nodes[0].Nodes[0].Nodes.Add("Leaf 1_1_2");
        treeView1.Nodes[0].Nodes.Add("Branch 1_2");
        treeView1.Nodes[0].Nodes.Add("Branch 1_3");
        treeView1.Nodes[0].Nodes[2].Nodes.Add("Leaf 1_3_1");
        treeView1.Nodes[0].Nodes[2].Nodes.Add("Leaf 1_3_2");
        treeView1.Nodes[0].Nodes[2].Nodes.Add("Leaf 1_3_3");
        treeView1.Nodes[0].Nodes[2].Nodes[2].Nodes.Add("Leaf 1_3_3_1");
        treeView1.Nodes[0].Nodes[2].Nodes[2].Nodes.Add("Leaf 1_3_3_2");
        treeView1.Nodes.Add("Root 2");
        treeView1.Nodes[1].Nodes.Add("Branch 2_1");
        treeView1.Nodes[1].Nodes.Add("Branch 2_2");
    }private void btnMove_Click(object sender, EventArgs e)
    {
        listView1.Items.Clear();    ChangeTreeViewToListView(treeView1, listView1);
    }private void ChangeTreeViewToListView(TreeView treeView, ListView listView)
    {
        foreach (TreeNode rootNode in treeView.Nodes)
        {
            AddListViewItems(listView, rootNode);
        }
    }private void AddListViewItems(ListView listView, TreeNode treeNode)
    {
        foreach (TreeNode subNode in treeNode.Nodes)
        {
            var newItem = listView.Items.Add(treeNode.Text);
            newItem.SubItems.Add(subNode.Text);        AddListViewItems(listView, subNode);
        }
    }
    楼主,试一下,可以的话就结贴吧。
      

  4.   

    菜鸟路过,我用treeview+listview做过图片浏览,treeview的node放的是路径,
    Tag里面存放的内容过大的话程序反应是不是会慢?
      

  5.   

    在 after_click事件中写,很方便