Key code:
/// <Summary> /// hide the CheckBox // description /// use the /// eg: // TreeList _ curTree = (TreeList) sender in the CustomDrawNodeCheckBox event; /// _ curTree. hideCheckBox (n => n. getNodeType () = NodeType. area | n. getNodeType () = NodeType. cabsGroupRoot, e ); /// </summary> /// <param name = "tree"> TreeList </param> /// <param name = "conditionHanlder"> DeleGate </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 ;}}
Code usage:
void LHTree_CustomDrawNodeCheckBox(object sender, CustomDrawNodeCheckBoxEventArgs e) { TreeList _curTree = (TreeList)sender; _curTree.HideCheckBox(n => n.GetNodeType() == NodeType.Area || n.GetNodeType() == NodeType.CabsGroupRoot, e); }
Code effect: