比较画笔和颜色

时间:2010-05-24 17:59:56

标签: c# colors brush

if (backBrush == SystemColors.ActiveCaption)

这失败了。说你无法比较画笔和颜色。

如何找到画笔的颜色?

4 个答案:

答案 0 :(得分:5)

如果backBrush是一个SolidColorBrush(基于你想要做的事情),你可以使用:

if(((SolidColorBrush)backBrush).Color == SystemColors.ActiveCaption)

答案 1 :(得分:2)

如果画笔是SolidBrush,您可以比较画笔的Color成员。这样的事情。

SolidBrush solidBrush = brush as SolidBrush;
if (solidBrush != null && solidBrush.Color == SystemColors.ActiveCaption)
{
  // ....
}

以上是针对WinForms的,对于WPF,您可以使用SolidColorBrush而不是SolidBrush。

答案 2 :(得分:1)

Brush没有颜色。

您使用Brush Color进行填充/绘画等。

一些 有一种颜色(HatchBrush有两种颜色),所以你需要强制转换为画笔类型并比较颜色: / p>

((HatchBrush)backBrush).BackgroundColor == SystemColors.ActiveCaption

答案 3 :(得分:1)

您是否尝试过SystemBrushes命名空间?

if (backBrush == SystemBrushes.ActiveCaption)
{...