TreeView与自定义绘制的TreeNode

时间:2009-10-14 08:49:23

标签: treeview treenode

我正在尝试在TreeNode的文本附近添加自定义图标,因此项目可以显示“已选中/未选中”状态。我不想使用复选框。

有什么想法吗? 感谢

1 个答案:

答案 0 :(得分:4)

假设您使用的是.net和Windows Forms。

您必须将TreeView的DrawMode属性设置为TreeViewDrawMode.OwnerDrawAll。执行此操作后,每次绘制树节点时都会触发treeview的DrawNode事件。处理该事件并手动绘制您的项目。

您将获得DrawTreeNodeEventArgs作为事件参数。它的状态属性将告诉您必须绘制的树项的哪个状态。 e.Bounds将帮助您确定边界,您可以使用e.Graphics进行绘图。您可以在此处找到更多详细信息:

http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.drawnode.aspx

但准备投入多个小时。

相关问题