我正在尝试在 TreeNode 的文本附近添加一个自定义图标,因此这些项目可能会显示“选中/未选中”状态。我不想为此使用复选框。
有任何想法吗?谢谢
假设您使用的是 .net 和 Windows 窗体。
您必须将 TreeView 的 DrawMode 属性设置为 TreeViewDrawMode.OwnerDrawAll。完成此操作后,每次绘制树节点时都会触发 treeview 的 DrawNode 事件。处理该事件并手动绘制您的项目。
您将获得 DrawTreeNodeEventArgs 作为事件参数。它的 State 属性将告诉您必须绘制的树项的哪个状态。e.Bounds 将帮助您确定边界,您可以使用 e.Graphics 进行绘图。您可以在此处找到更多详细信息:
http://msdn.microsoft.com/en-us/library/system.windows.forms.treeview.drawnode.aspx
但准备投入多个小时。