大家都知道,winform treeview默认是鼠标双击节点就展开和折叠子节点的,或是点旁边的“+”号也一样的展开和折叠子节点。现在的问题是我想鼠标单击treeview节点就实现展开和折叠子节点,我在treeView1_NodeMouseClick事件里这样写下:
if (e.Node.IsExpanded)
e.Node.Collapse();
else
e.Node.Expand();发现单击节点就展开和折叠子节点是实现了,
但是地去点旁边的“+”号还是不行,那个“+”号好像还是双击的功能,
点一下就马上展开又马上折叠,
我要的是单击“+”号,也是和单击节点一样,
点一下就展开,再点一下就折叠。不知道大家明白我的意思没有,请教高手帮帮忙哦~_~
if (e.Node.IsExpanded)
e.Node.Collapse();
else
e.Node.Expand();发现单击节点就展开和折叠子节点是实现了,
但是地去点旁边的“+”号还是不行,那个“+”号好像还是双击的功能,
点一下就马上展开又马上折叠,
我要的是单击“+”号,也是和单击节点一样,
点一下就展开,再点一下就折叠。不知道大家明白我的意思没有,请教高手帮帮忙哦~_~
当你点击旁边的 + 号的时候 一样会执行 treeView1_NodeMouseClick 这个事件,当你点击的时候,节点先展开,然后执行
if (e.Node.IsExpanded)
e.Node.Collapse();
else
e.Node.Expand();
这个代码,你先判断它是否展开,展开的话就把它折叠……接下来不用我说了吧楼主可以试试这样行不行:设置treeView1的ShowPulsMinus属性为false
所以你说的还是不能实现我想要的
如果把
treeView1的ShowPulsMinus属性为false
那么不管有没有下级内容,都不知道,一定要去点击它才能知道
if (e.Node.Bounds.Contains(e.Location))
{
if (e.Node.IsExpanded)
{
e.Node.Collapse();
}
else
{
e.Node.Expand();
}
}
AfterExpand
AfterCollapseBeforeExpand
BeforeCollapse