如何使用控制面板程序功能中显示的复选框

时间:2011-11-24 06:42:15

标签: c# winforms visual-studio-2008 checkbox

我正在用C#制作一个Windows应用程序。

我想使用Windows 7控制面板程序功能中的复选框。

  • 如果未选择树的子选项框,则应填写父复选框
  • 如果选择了所有子项,则应选中父复选框
  • 如果未选中所有子项,则应取消选中父级复选框。

我正在使用单独的复选框(例如在谷歌中找到的checkboxImageList),而不是treeview复选框。

2 个答案:

答案 0 :(得分:0)

好吧,树视图复选框可以为你节省很多麻烦,因为你可以通过处理Click事件来点击节点时使用LINQ检查或取消选中所有节点(假设clickedItem是节点点击了:

foreach (TreeNode node in clickedItem.Nodes.ToList())
{
    node.IsSelected = clickedItem.IsSelected;
}

此外,从用户界面的角度来看,TreeView是有道理的。如果你绝对坚持使用单独的复选框,那么你只需在内存中构建一个CheckBox项的树,也许使用类似这样的样本Tree<T> data type,然后当你点击一个复选框时,只需递归遍历树,直到你检查了那个下面的每个方框。

但请考虑一下您的应用会发生什么。将来你可能有很多选择,你需要一种以编程方式添加它们的方法。您可能需要滚动。您可能需要使整个事物可配置。一旦你添加了所有这些,你就可以重新实现TreeView

答案 1 :(得分:0)

也许你应该更好地使用TreeViewHere'sTreeView管理中期检查状态的示例。