我有一個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