0

我正在尝试更改TreeView's default highlight color。我会期待DefaultSelectionBackground像我在 a中所做的那样DataGridView,但我找不到任何东西。

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

4

2 回答 2

2

所有标准的 Windows 控件,如 TreeView,都会注意用户选择的主题颜色。这是一种资产,Windows 是可识别和熟悉的,即使用户以前从未使用过程序。默认的突出显示颜色是蓝底白字,这是每个控件的标准颜色。当然,用户可以自定义,TreeView 会自动效仿。

如果您真的愿意,您可以将自己的颜色偏好强加给用户。将 DrawMode 属性设置为 OwnerDrawText 并实现 DrawNode 事件来绘制自己。在 DrawNode 的 MSDN 库文章中有一个很好的示例。

于 2013-02-11T23:07:20.037 回答
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());
}
于 2013-02-11T23:03:29.993 回答