如何在c#winform应用程序中将树节点的特定部分文本着色

如何在c#winform应用程序中将树节点的特定部分文本着色,c#,winforms,treeview,overriding,C#,Winforms,Treeview,Overriding,我正在开发一个有树状视图的应用程序。最近,我在该应用程序上实现了搜索功能。它所做的只是在选定节点的子节点中搜索输入的关键字,并仅显示文本中包含该关键字的节点或树状视图结构中的标记信息。现在,我想突出显示与关键字匹配的这些搜索节点的文本。您可以设置BackColor以突出显示节点的背景 treeNode.BackColor = Color.Cyan; treeNode.ForeColor = Color.Green; 您可以设置ForeColor以突出显示节点的文本 treeNode.Back

我正在开发一个有树状视图的应用程序。最近,我在该应用程序上实现了搜索功能。它所做的只是在选定节点的子节点中搜索输入的关键字,并仅显示文本中包含该关键字的节点或树状视图结构中的标记信息。现在,我想突出显示与关键字匹配的这些搜索节点的文本。

您可以设置
BackColor
以突出显示节点的背景

treeNode.BackColor = Color.Cyan;
treeNode.ForeColor = Color.Green;
您可以设置
ForeColor
以突出显示节点的文本

treeNode.BackColor = Color.Cyan;
treeNode.ForeColor = Color.Green;

更高级的方法是在树视图中绘制节点。DrawNode事件处理程序

我自己找到了答案,它是通过使用draw node事件处理程序并在节点内绘制自定义三角形来完成的。

但我只希望突出显示文本的特定部分,而不是整个文本。