【发布时间】:2014-06-09 21:26:44
【问题描述】:
我有一个 ListView,里面有级联复选框。如果未选中父框,我想做的是能够取消选中所有子框(同样,如果选中了父框,我想检查所有子框)。目前,如果我选中或取消选中某个框,父节点和子节点将显示为灰色,但子框上仍然可以看到复选标记。
我认为我必须递归地执行此操作。我已经尝试了以下代码,我认为它应该可以工作,但是由于转换问题,它在运行时会中断。
private void listViewChildNodeModifier(ListViewItem item)
{
if (item.SubItems.Equals(null)) return;
else
{
foreach (ListViewItem childItem in item.SubItems)
{
listViewChildNodeModifier(childItem);
if(childItem.Tag is TestingNode)
((TestingNode)childItem.Tag).Enabled = item.Checked;
}
}
}
【问题讨论】:
标签: c# listview user-interface recursion checkbox