我正在尝试更改TreeView
的默认highlight color
。我会像DefaultSelectionBackground
一样期待像DataGridView
这样的东西,但我找不到任何东西。
这只是TreeView
的另一个限制,还是我错过了什么?
答案 0 :(得分:2)
所有标准Windows控件(如TreeView)都会关注用户选择的主题颜色。这是一种资产,即使用户之前从未使用过程序,Windows也是可识别和熟悉的。默认的高亮颜色为蓝色白色,是每个控件的标准颜色。当然,用户可以自定义,TreeView会自动跟进。
如果您真的想要,可以强制您自己的颜色偏好。将DrawMode属性设置为OwnerDrawText并实现DrawNode事件以绘制自己。在关于DrawNode的MSDN Library文章中有一个很好的例子。
答案 1 :(得分:0)
<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());
}