我想在TreeView中放置多个图标(Winforms,.Net 3.5)。我已经看了一下这个代码项目项目(http://www.codeproject.com/KB/tree/treeviewadv.aspx),但它对我不起作用。
如果有可能我不想更改当前的TreeView,即我不想使用商业工具。
我可以自己做这个吗?
非常感谢。
此致
Vicenç
答案 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位颜色支持。