有一个实现全部展开节点的程序:
private void toolStripMenuItem1_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < treeView1.Nodes.Count; i++)
            {
                if (treeView1.Nodes[i].Nodes.Count != i)
                {
                    treeView1.Nodes[i].ExpandAll();
                }
            }
        }    
但这样只能指定treeview1,同时还要另一个TREEVIEW2也想用这段程序,所以我想把程序里面的treeView1,换成右键点击时所在treeView的值。

解决方案 »

  1.   


    private void toolStripMenuItem1_Click(object sender, EventArgs e) 
            { 
                toolStripMenuItem_Click(this.treeView1);
            }   
    private void toolStripMenuItem2_Click(object sender, EventArgs e) 
            { 
                toolStripMenuItem_Click(this.treeView2);
            }   
    private void toolStripMenuItem_Click(treeview tv) 
            { 
                for (int i = 0; i < tv.Nodes.Count; i++) 
                { 
                    if (tv.Nodes[i].Nodes.Count != i) 
                    { 
                        tv.Nodes[i].ExpandAll(); 
                    } 
                } 
            }   
      

  2.   

    用这个有点问题,就是我两个TREE共用一个toolStripMenuItem,toolStripMenuItem的第一行是全部展开,第二行市折叠,如果这样写参数的话,只能控制一个TREE,而不是当前TREE
      

  3.   

    在两个TREE上右键,弹出的是同一个toolStripMenuItem,所以双击toolStripMenuItem字段时想根据右键所在的TREE来判断对哪个TREE进行操作
      

  4.   

    两个TREE调用同一个toolStripMenuItem,toolStripMenuItem有两行选项,一个展开一个折叠,请问这个toolStripMenuItem的代码应该怎么写?
      

  5.   

    你可以在tree里响应mousedown事件,在此用一个全局变量记录一下当前的tree
      

  6.   

    就是不知道用什么函数获得当前的TREE名称啊 = =