我有一个TreeView
,每个Node.Text
都有两个词。第一个词和第二个词应该有不同的颜色。我已经用DrawMode
属性和DrawNode
事件改变了文本的颜色,但我不知道如何将它们分成Node.Text
两种不同的颜色。有人指出我可以使用TextRenderer.MeasureText
,但我不知道如何/在哪里使用它。
有人有想法吗?
代码 :
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);
}