【问题标题】:How to draw UI elements with Visual Styles turned off?如何在关闭视觉样式的情况下绘制 UI 元素?
【发布时间】:2011-11-08 13:39:06
【问题描述】:

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

【问题讨论】:

    标签: c# winforms treeview ownerdrawn


    【解决方案1】:

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

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

    【讨论】:

    • 我希望有一些“更高级别”的方法,但这可以正常工作。
    猜你喜欢
    • 1970-01-01
    • 2019-10-28
    • 1970-01-01
    • 2015-11-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-01-02
    相关资源
    最近更新 更多