Microsoft在TreeView控件中自作主张地做成双击节点时自动展开/折叠节点。然而如果用户自定义NodeMouseDoubleClick事件,同时又不希望改变结点的展开/折叠状态,就无法直接达到这一效果。这是个讨厌的问题,网上有些解决办法是这样,查看鼠标点击了几下,以这个来判断,如果 CLICK >1 则证明是双击,然后去做特定的操作,但这样有个问题,就是如果是在"+"上双击,结果也是去执行的特定的操作,而我们有可能是展开节点,但无法做到,办法是人想出来的,
大体思路跟网上差不多,只不过我们TreeView_MouseDown事件里多加了几行代码
如下
private bool expandCollapse; private void TmpltTreeView_MouseDown(object sender, MouseEventArgs e) { TreeViewHitTestInfo testInfo = this.HitTest(e.Location); expandCollapse = e.Clicks > 1 && (testInfo.Location == TreeViewHitTestLocations.Label || testInfo.Location == TreeViewHitTestLocations.Image); }
被节点困扰的朋友们,赶紧试试把!TreeViewHitTestInfo 里有你想要的东西!
文档说明:
相关文档
返回首页 | 关于本站 | | 友情链接 | 广告服务 | 意见建议 | 访客留言 | 本站论坛
Copyright© 2001-2006 ProgramBBS.com All Rights Reserved 版权所有©编程论坛
Email: 吉ICP备05009985号
感谢长春订餐网友情支持