4

我有一个所有者绘制的控件,我需要在其中绘制树视图的扩展框(“加号/减号”)。打开视觉样式很容易,只需为适当的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控件的一部分?

4

1 回答 1

1

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

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

在此处输入图像描述

于 2011-11-08T14:38:28.387 回答