Winform TreeView实现多级目录Checkbox状态判断
大概是这么个样子:
大概是这么个思路:
当变更(点击)节点的选中状态的时候,同步更新所有子节点(包括子节点的子节点)状态,并且判断所有兄弟节点的状态若都是选中状态,更新父级节点状态为选中,否则,更新父节点(包括父节点的父节点)为未选中状态。
划重点:
要点1: treeView.CheckBoxes = true;
要点2:不能使用AfterCheck事件,会导致无限递归
要点3:递归更新状态
要点4:递归检查状态
代码片段:
Changechild
ChangeParent
CheckChild
treeView1_MouseClick
简单实现,有问题欢迎大家指正。
winform支持 win10 缩放适配 参考我另外一篇:
winform 适配high dpi
Love the neighbor. But don't get caught.https://www.cnblogs.com/hicolin/p/10113953.html