如何关闭视觉样式绘制UI元素?

时间:2011-11-08 13:39:07

标签: c# winforms treeview ownerdrawn

我有一个所有者绘制的控件,我需要绘制树视图的展开框(“加/减”)。打开视觉样式很容易,只需为相应的 VisualStyleElement 创建一个渲染器:

VisualStyleElement element = VisualStyleElement.TreeView.Glyph.Opened
VisualStyleRenderer renderer = new VisualStyleRenderer( element );
Size size = renderer.GetPartSize( graphics, ThemeSizeType.True );
...
renderer.DrawBackground( graphics, someRect );

视觉风格关闭时是否可以达到类似的效果?我知道有一个 ControlPaint 类可以绘制整个控件,但是如何绘制(并获得大小)只是 TreeView 控件的一部分?

1 个答案:

答案 0 :(得分:1)

如果没有VisualStyles,我认为加减控件只是DrawRectangle和DrawLine方法调用。

矩形部分看起来像是使用SystemColors.Control颜色,而加/减部分看起来像SystemColors.ControlText(或黑色)。

enter image description here