TreeView突出显示.NET 2.0中的颜色

时间:2013-02-11 23:00:29

标签: .net winforms treeview

我正在尝试更改TreeView的默认highlight color。我会像DefaultSelectionBackground一样期待像DataGridView这样的东西,但我找不到任何东西。

这只是TreeView的另一个限制,还是我错过了什么?

2 个答案:

答案 0 :(得分:2)

所有标准Windows控件(如TreeView)都会关注用户选择的主题颜色。这是一种资产,即使用户之前从未使用过程序,Windows也是可识别和熟悉的。默认的高亮颜色为蓝色白色,是每个控件的标准颜色。当然,用户可以自定义,TreeView会自动跟进。

如果您真的想要,可以强制您自己的颜色偏好。将DrawMode属性设置为OwnerDrawText并实现DrawNode事件以绘制自己。在关于DrawNode的MSDN Library文章中有一个很好的例子。

答案 1 :(得分:0)

HTML

<asp:TreeView runat="server"
              ID="tvMyTreeView"
              OnTreeNodeDataBound="tvMyTreeView_TreeNodeDataBound"/>

背后的代码

protected void tvMyTreeView_TreeNodeDataBound(object aSender, TreeNodeEventArgs anEvent)
{
    DataRowView dr = (DataRowView)anEvent.Node.DataItem;
    anEvent.Node.Style.Add("color", dr["COLOR"].ToString());
}