我有很多按类别分组的项目(节点),我想在TreeView中显示它们,其中父项是文本,子项是CheckBoxes:
+-CategoryA(Text)
---.A1(CheckBox)
---.A2(CheckBox)
+-CategoryB(Text)
---.B1
---.B2
---.B3
+-CategoryC(Text)
---.C1(CheckBox)
---.C2(CheckBox)
这是一个代码示例:
TreeNode testNodeA = new TreeNode("A");
TreeNode testNodeB = new TreeNode("B");
TreeNode testNodeC = new TreeNode("C");
TreeNode[] array = new TreeNode[] { testNodeA, testNodeB, testNodeC };
TreeNode cat = new TreeNode("Categorie X", array);
myTreeView.Nodes.Add(cat);
我已经找到了类似的问题Here,但解决方案并不优雅,因为它使用p / invoke来调用C代码.
解决方法:
可能有一种更简单的方法;但是你可以通过将绘图模式设置为OwnerDrawAll并决定渲染内容来实现.
这里有一个很好的例子,几乎就是你想要的:
http://social.msdn.microsoft.com/forums/en-US/winformsdatacontrols/thread/947aaded-6372-4253-8799-2b595f4a39b9/