TreeView节点在C#中突出显示颜色
发布时间:2020-12-15 07:41:52 所属栏目:百科 来源:网络整理
导读:使用 Windows Forms,当我单击TreeView节点时,突出显示颜色为蓝色.有没有办法改变这个? 解决方法 如果您创建自己的TreeView类并覆盖OnDrawNode方法,则可以.例如,这个将突出显示选定的红色节点: class ClassMyTreeView:TreeView{ public ClassMyTreeView() {
使用
Windows Forms,当我单击TreeView节点时,突出显示颜色为蓝色.有没有办法改变这个?
解决方法
如果您创建自己的TreeView类并覆盖OnDrawNode方法,则可以.例如,这个将突出显示选定的红色节点:
class ClassMyTreeView:TreeView { public ClassMyTreeView() { this.DrawMode = TreeViewDrawMode.OwnerDrawText; } protected override void OnDrawNode(DrawTreeNodeEventArgs e) { TreeNodeStates state = e.State; Font font = e.Node.NodeFont ?? e.Node.TreeView.Font; Color fore = e.Node.ForeColor; if (fore == Color.Empty) fore = e.Node.TreeView.ForeColor; if (e.Node == e.Node.TreeView.SelectedNode) { fore = SystemColors.HighlightText; e.Graphics.FillRectangle(new SolidBrush(Color.Red),e.Bounds); ControlPaint.DrawFocusRectangle(e.Graphics,e.Bounds,fore,Color.Red); TextRenderer.DrawText(e.Graphics,e.Node.Text,font,Color.Red,TextFormatFlags.GlyphOverhangPadding); } else { e.Graphics.FillRectangle(SystemBrushes.Window,e.Bounds); TextRenderer.DrawText(e.Graphics,TextFormatFlags.GlyphOverhangPadding); } } } (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- ruby – 我可以在没有重新启动服务器的情况下执行
- LeetCode OJ 之 Regular Expression Matching (
- c# – ComboBox.ValueMember和DisplayMember
- c# – WPF工具包DataGrid SelectionChanged获取单
- ORACLE 11G R2 RAC+Mutilpath+RAW+ASM+Silent+Ad
- swift – Xcode 7 – 引用XCUIElement的奇怪的转
- postgresql – 写特殊符号时postgres sql错误
- c# – 如何获得picturebox的非公开成员的价值?
- 谈一谈自己对依赖、关联、聚合和组合之间区别的理
- flex的错误码列表
热点阅读