C#winfrom 中 TreeView 控件中带checkbox,怎么实现在父节点上打勾,选中全部子节点?

2024-12-24 16:55:48
推荐回答(4个)
回答1:

private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{
TreeNode node = e.Node;
foreach (TreeNode item in node.Nodes)
{
item.Checked = e.Node.Checked;
}
}

回答2:

在form的closing事件里写
if (bidui == true)
{
DialogResult a = MessageBox.Show("未保存\n是否保存已更改数据再退出?", "提示信息", MessageBoxButtons.YesNoCancel, MessageBoxIcon.Warning);
if (a == DialogResult.Yes)
{
baocun();
}
else
{
if (a == DialogResult.No)
{
return;
}
else
{
e.Cancel=True;
}
}
}
else
{
return;
}
}

回答3:

private void treeView1_AfterCheck(object sender, TreeViewEventArgs e)
{
TreeNode node = e.Node;
foreach (TreeNode item in node.Nodes)
{
item.Checked = e.Node.Checked;
}
}
楼上的完全正确!!!!e是事件源

回答4:

我说一下思路。我想楼主不单单是想要第二级吧,应该包含下面的所有层级。所以应该使用递归算法才行。