解决方案 »

  1.   

    不是有什么EXPAND属性吗?好久没看 不记得了。 全部展开或者折叠的话 你可以遍历一下树嘛
      

  2.   

    private void lblopen_Click(object sender, EventArgs e)
            {            if (lblopen.Text.Trim() == "全部展开")
                {
                    tvHelp.ExpandAll();
                    lblopen.Text = "全部隐藏";
                }
                else
                {
                    foreach (TreeNode node in tvHelp.Nodes)
                    {
                        node.Collapse();
                    }
                    lblopen.Text = "全部展开";
                }
            }
    我这样可以全部展开,全部关闭了,但是我要判断是否全部打开了
      

  3.   

    每个NODE都有IsExpanded属性,可以判断的 遍历取值
      

  4.   

    expandall了不就全部展开了嘛?
      

  5.   


    如果树的节点在开发的时候就固定的,那么你应该就能知道树一共能展开几次,如果是动态绑定的,那么每次增加一个能展开的节点时,记录一下,最终获得总共能展开的次数。
    定义两个变量 m = 总共展开的次数, n = 当前展开的次数(默认为0),每次Expand时n++;每次Collapse时n--,n = 0即全部隐藏状态,n = m即全部展开状态,代码就不写了,你自己试下吧。
      

  6.   


    如果树的节点在开发的时候就固定的,那么你应该就能知道树一共能展开几次,如果是动态绑定的,那么每次增加一个能展开的节点时,记录一下,最终获得总共能展开的次数。
    定义两个变量 m = 总共展开的次数, n = 当前展开的次数(默认为0),每次Expand时n++;每次Collapse时n--,n = 0即全部隐藏状态,n = m即全部展开状态,代码就不写了,你自己试下吧。
    非常感谢iceMung
    也感谢haof3344