Winform TreeView多选节点实现
Winform 的 TreeView 控件虽然挺常见,但它默认就支持单选,想多选?官方可没给你留门。这篇教程就教你怎么自己动手扩展一下 TreeNode 类,让它支持多选功能,而且思路挺清晰,代码也不绕。
用个继承类MultiSelectTreeNode
加个Selected
属性,再搭配BeforeSelect
和AfterSelect
事件去控制状态更新——可以说是比较轻量的改法,不影响原本结构。
而且教程里还贴心地加了 Shift 多选的逻辑,比如选中两个节点之间的所有节点这种常见操作,实际用起来还蛮顺的。如果你做的是层级结构的交互,比如组织架构、菜单权限管理啥的,用这个方案省事多了。
另外作者也提到,如果你想更进一步支持全选、反选、或者结合CheckBoxes
属性搞个复选框版本,也不难。这个扩展方式比较灵活,适合实际项目中按需裁剪。
如果你碰到 TreeView 多选的需求,又不想用笨办法去绕逻辑,不妨看看这个做法,挺实用。
75.59KB
文件大小:
评论区