关键代码:
class="csharpcode"> /// <summary> /// 隐藏CheckBox /// 说明 /// 在CustomDrawNodeCheckBox事件中使用 /// eg: /// TreeList _curTree = (TreeList)sender; /// _curTree.HideCheckBox(n => n.GetNodeType() == NodeType.Area || n.GetNodeType() == NodeType.CabsGroupRoot, e); /// </summary> /// <param name="tree">TreeList</param> /// <param name="conditionHanlder">委托</param> /// <param name="e">CustomDrawNodeCheckBoxEventArgs</param> public static void HideCheckBox(this TreeListNode tree, Predicate<TreeListNode> conditionHanlder, CustomDrawNodeCheckBoxEventArgs e) { if (conditionHanlder(e.Node)) { e.Handled = true; } }
代码使用:
void LHTree_CustomDrawNodeCheckBox(object sender, CustomDrawNodeCheckBoxEventArgs e) { TreeList _curTree = (TreeList)sender; _curTree.HideCheckBox(n => n.GetNodeType() == NodeType.Area || n.GetNodeType() == NodeType.CabsGroupRoot, e); }
代码效果: