4

我有许多按类别分组的项目(节点),我想将它们显示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);

我已经在这里找到了一个类似的问题,但是该解决方案并不优雅,因为它用于p/invoke调用 C++ 代码。

4

1 回答 1

3

可能有更简单的方法;但是您可以通过将绘制模式设置为OwnerDrawAll并决定要渲染的内容来做到这一点。

这里有一个很好的例子,几乎完全符合您的要求:http: //social.msdn.microsoft.com/forums/en-US/winformsdatacontrols/thread/947aaded-6372-4253-8799-2b595f4a39b9/

于 2012-06-08T14:52:21.723 回答