如何选中/取消选中 TreeView 中的所有子项?当其中一项变为选定状态并且子项已选中/未选中时,可能会发生错误。
private void Form1_Load(object sender, EventArgs e)
{
treeView1.CheckBoxes = true;
treeView1.BeginUpdate();
treeView1.Nodes.Add("1111");
treeView1.Nodes[0].Nodes.Add("2222");
treeView1.Nodes[0].Nodes.Add("2222");
treeView1.Nodes[0].Nodes.Add("2222");
treeView1.Nodes[0].Nodes.Add("2222");
treeView1.Nodes[0].Nodes[1].Nodes.Add("3333");
treeView1.Nodes[0].Nodes[1].Nodes[0].Nodes.Add("4444");
treeView1.Nodes[0].Nodes[1].Nodes[0].Nodes.Add("4444");
treeView1.Nodes[0].Nodes[1].Nodes[0].Nodes.Add("4444");
treeView1.EndUpdate();
treeView1.ExpandAll();
}
private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{
treeView1.BeginUpdate();
foreach (TreeNode Node in e.Node.Nodes)
{
Node.Checked = e.Node.Checked;
}
treeView1.EndUpdate();
}