要在Winform Tree中實現節點的復選框功能,可以按照以下步驟操作:
在Winform中添加一個Tree控件(TreeView),并設置其CheckBoxes屬性為true,開啟節點復選框功能。
通過TreeNode類創建樹節點,可以通過以下代碼實現:
TreeNode node1 = new TreeNode("節點1");
TreeNode node2 = new TreeNode("節點2");
TreeNode node3 = new TreeNode("節點3");
treeView1.Nodes.Add(node1);
treeView1.Nodes.Add(node2);
node2.Nodes.Add(node3);
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{
if (e.Action != TreeViewAction.Unknown)
{
CheckChildNodes(e.Node, e.Node.Checked);
CheckParentNodes(e.Node, e.Node.Checked);
}
}
private void CheckChildNodes(TreeNode node, bool isChecked)
{
foreach (TreeNode childNode in node.Nodes)
{
childNode.Checked = isChecked;
CheckChildNodes(childNode, isChecked);
}
}
private void CheckParentNodes(TreeNode node, bool isChecked)
{
if (node.Parent != null)
{
bool allChecked = true;
foreach (TreeNode siblingNode in node.Parent.Nodes)
{
if (!siblingNode.Checked)
{
allChecked = false;
break;
}
}
node.Parent.Checked = allChecked;
CheckParentNodes(node.Parent, isChecked);
}
}
通過以上步驟,可以在Winform Tree中實現節點的復選框功能。當選擇父節點時,子節點會跟隨選中;當選擇子節點時,父節點也會相應選中。