仅在儿童节点中的复选框?

我有很多按类别分组的项目(节点),我想在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 ++代码。

可能有一种更简单的方法; 但你可以通过将绘图模式设置为OwnerDrawAll并决定渲染内容来实现。

这里有一个很好的例子,几乎就是你想要的: http : //social.msdn.microsoft.com/forums/en-US/winformsdatacontrols/thread/947aaded-6372-4253-8799-2b595f4a39b9/