首页 > 解决方案 > 树视图节点的文本与图像的连接

问题描述

我在 Windows 窗体中有带有三个视图节点的树视图

我想知道的是是否可以将文本与图像连接起来。我是说

注意:图像当前存储在ImageList

This is a node (image here)
Another node (image here)

我尝试做类似的事情:

nodes[idx].Text = nodes[idx].Text + nodes[idx].ImageIndex;

但它只是做类似的事情:

 This is a node 10
 Another node 10

它不是使用图像,而是使用当前图像索引值。

有可能实现我想要的吗?

标签: c#winforms

解决方案


我认为您想要实现的目标并不是那么容易实现的。text 属性只能包含一个文本字符串。

实现这一点的一种可能性是使用所有者绘制的树视图。这个很复杂,需要自己实现完整的文字绘制和图片绘制。例如,您可以在以下问题中找到更多信息:

带有自定义绘制的 TreeNode 的 TreeView

如何使用 OnPaint args 在 c# 中将图标添加到 TreeView 控件

如果您只想显示特定的标准图标,更简单的解决方案可能是使用 unicode 图标。

        treeView1.Nodes.Add("go to LA ✈");
        var n = treeView1.Nodes.Add("Tasks ❒");
        n.Nodes.Add("Done ✅");
        n.Nodes.Add("Failed ❎");

树视图预览

您可以在各个页面上找到符号列表,例如 https://en.wikipedia.org/wiki/Dingbat#Unicode


推荐阅读