我正在尝试更改TreeView
's default highlight color
。我会期待DefaultSelectionBackground
像我在 a中所做的那样DataGridView
,但我找不到任何东西。
这只是 的另一个限制TreeView
,还是我错过了什么?
所有标准的 Windows 控件,如 TreeView,都会注意用户选择的主题颜色。这是一种资产,Windows 是可识别和熟悉的,即使用户以前从未使用过程序。默认的突出显示颜色是蓝底白字,这是每个控件的标准颜色。当然,用户可以自定义,TreeView 会自动效仿。
如果您真的愿意,您可以将自己的颜色偏好强加给用户。将 DrawMode 属性设置为 OwnerDrawText 并实现 DrawNode 事件来绘制自己。在 DrawNode 的 MSDN 库文章中有一个很好的示例。
<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());
}