TreeView有多个图标

时间:2010-11-03 10:52:03

标签: .net winforms treeview

我想在TreeView中放置多个图标(Winforms,.Net 3.5)。我已经看了一下这个代码项目项目(http://www.codeproject.com/KB/tree/treeviewadv.aspx),但它对我不起作用。

如果有可能我不想更改当前的TreeView,即我不想使用商业工具。

我可以自己做这个吗?

非常感谢。

此致

Vicenç

2 个答案:

答案 0 :(得分:2)

如果将当前TreeView上的DrawMode属性设置为OwnerDrawAll,则可以轻松绘制任意数量的图标。您有责任手动绘制构成每个节点的矩形区域的所有元素,包括图标,复选框,加号和减号以及连接线,这意味着您可以无限制地自定义其外观。

当TreeView设置为所有者绘制时,将为需要绘制的每个节点触发DrawNode事件。 MSDN提供了如何实现此目的的示例:http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.drawnode.aspx

要绘制实际图标,您需要查看Graphics.DrawIcon方法。

答案 1 :(得分:1)

您可以将StateImageList用作“辅助”图像源。

请注意,这确实有一些错误,特别是只有4位颜色支持。