因为TreeView 自身的CheckBox非常死,开启后所有的节点都会显示,但是很多场景下顶级节点是不需要显示CheckBox的,被迫通过重绘和SendMessage来解决这个问题。
this.treeView1.CheckBoxes = true; this.treeView1.DrawMode = TreeViewDrawMode.OwnerDrawAll; this.treeView1.DrawNode += new DrawTreeNodeEventHandler(treeViewGroupStatements_DrawNode);//注册事件
#region 隐藏CheckBoxs //要隐藏的TreeNode的字典 public Dic