我创建了一个自定义按钮控件。基本上是一个按钮矩形,但在矩形内有两个区域具有不同的行为。出于这个原因,我只想为特定区域绘制热压状态,而不是孔按钮。
我目前的方法是使用ButtonRenderer.DrawButton(...)
空文本绘制基本按钮,如果需要,绘制热或按下状态,最后绘制文本。到目前为止一切顺利,但我如何获得热/压制状态的(渐变)颜色?
我试过了SystemColors
,KnownColors
但VisualStyleRenderer.GetColor(ColorProperty.XYZ)
似乎没有一个匹配?如何从主机系统中读取这些颜色?
编辑:
下面的示例图片:
在这个win7屏幕截图的情况下,我想要热键和按下按钮状态的颜色 - (浅)蓝色。如果放大,您可以看到上半部分和下半部分都使用了轻微的颜色渐变。
最后一个按钮显示了我想要完成的事情。
当然,我可以从屏幕截图中提取颜色并对其进行硬编码或使用建议的图像,但这仅适用于这个特定系统,不是吗?