2
我需要在TreeView中的一個節點內的文本在單詞或字符內進行着色。那可能嗎?什麼路要走?我聽說過自定義繪圖,但沒有經驗!從DrawNode事件TreeView與多色TreeNode文本
treeView1.DrawMode = TreeViewDrawMode.OwnerDrawText;
然後:
我需要在TreeView中的一個節點內的文本在單詞或字符內進行着色。那可能嗎?什麼路要走?我聽說過自定義繪圖,但沒有經驗!從DrawNode事件TreeView與多色TreeNode文本
treeView1.DrawMode = TreeViewDrawMode.OwnerDrawText;
然後:
設置TreeView控件的屬性
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);
}
更多來自MSDN:TreeView.DrawNode Event
我怎麼可能改變此一半的節點。文字是紅色的,另一半是默認顏色(黑色) – phadaphunk 2012-12-11 15:39:46
@PhaDaPhunk哪一半?你的意思是兩個字嗎?一個紅色,一個黑色? – LarsTech 2012-12-11 15:40:50
是的,它會是兩個字。他們之間可能會有分裂字符,如' - '如果有必要 – phadaphunk 2012-12-11 15:46:39