我正在尝试在TreeNode的文本附近添加自定义图标,因此项目可以显示“已选中/未选中”状态。我不想使用复选框。
有什么想法吗? 感谢
答案 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
但准备投入多个小时。