我有一个TreeView
,它的每个Node.Text
都有两个单词。 第一个和第二个单词应该有不同的颜色。我已经在使用DrawMode
属性和DrawNode
事件更改文本的颜色,但我无法弄清楚如何将Node.Text
分成两种不同的颜色。有人指出我可以使用TextRenderer.MeasureText
,但我没有想法如何/在哪里使用它。Treenode文本不同颜色的字
有人有想法吗?
代码:
formload()
{
treeView1.DrawMode = TreeViewDrawMode.OwnerDrawText;
}
private void treeView1_DrawNode(object sender, DrawTreeNodeEventArgs e)
{
Color nodeColor = Color.Red;
if ((e.State & TreeNodeStates.Selected) != 0)
nodeColor = SystemColors.HighlightText;
TextRenderer.DrawText(e.Graphics,
e.Node.Text,
e.Node.NodeFont,
e.Bounds,
nodeColor,
Color.Empty,
TextFormatFlags.VerticalCenter);
}
你能解释你的代码吗? –
在winforms中是不可能的,你必须使用一个图像。 – MrFox
@MrFox这是从不可能的FAR – phadaphunk