我希望在所有节点和子节点都是checke后禁用用户在TreeView中更改复选框的状态。这是我检查treeview中所有项目的方式:
private void CheckItems()
{
foreach (TreeNode node in tvSastavnica.Nodes)
{
node.Checked = true;
CheckChildren(node, true);
}
}
private void CheckChildren(TreeNode rootNode, bool isChecked)
{
foreach (TreeNode node in rootNode.Nodes)
{
CheckChildren(node, isChecked);
node.Checked = isChecked;
}
}
现在我想要灰色或以某种方式锁定复选框以防止改变状态。有可能吗?
答案 0 :(得分:1)
您可以使用 BeforeCheck 和 AfterCheck 事件执行此操作:
private void tvSastavnica_BeforeCheck(object sender, TreeViewCancelEventArgs e)
{
e.Cancel = true;
}
或者:
private void tvSastavnica_AfterCheck(object sender, TreeViewCancelEventArgs e)
{
e.Cancel = true;
}