大家都知道,winform treeview默认是鼠标双击节点就展开和折叠子节点的,或是点旁边的“+”号也一样的展开和折叠子节点。现在的问题是我想鼠标单击treeview节点就实现展开和折叠子节点,我在treeView1_NodeMouseClick事件里这样写下:
  if (e.Node.IsExpanded)
                e.Node.Collapse();
            else
                e.Node.Expand();发现单击节点就展开和折叠子节点是实现了,
但是地去点旁边的“+”号还是不行,那个“+”号好像还是双击的功能,
点一下就马上展开又马上折叠,
我要的是单击“+”号,也是和单击节点一样,
点一下就展开,再点一下就折叠。不知道大家明白我的意思没有,请教高手帮帮忙哦~_~

解决方案 »

  1.   

    楼主的问题在于:
    当你点击旁边的 + 号的时候 一样会执行 treeView1_NodeMouseClick 这个事件,当你点击的时候,节点先展开,然后执行
     if (e.Node.IsExpanded)
      e.Node.Collapse();
      else
      e.Node.Expand();
    这个代码,你先判断它是否展开,展开的话就把它折叠……接下来不用我说了吧楼主可以试试这样行不行:设置treeView1的ShowPulsMinus属性为false
      

  2.   

    楼主可以试试这样行不行:设置treeView1的ShowPulsMinus属性为false你好,我就是要把旁边的“+”号显示出来哦。
    所以你说的还是不能实现我想要的
      

  3.   

    因为有“+”号我就可以清楚的知道有没有下一级内容
    如果把
    treeView1的ShowPulsMinus属性为false
    那么不管有没有下级内容,都不知道,一定要去点击它才能知道
      

  4.   


    if (e.Node.Bounds.Contains(e.Location))
    {
        if (e.Node.IsExpanded)
        {
            e.Node.Collapse();
        }
        else
        {
            e.Node.Expand();
        } 
    }
      

  5.   


    AfterExpand
    AfterCollapseBeforeExpand
    BeforeCollapse