开发者

compare a brush and color

开发者 https://www.devze.com 2022-12-31 05:45 出处:网络
if (backBrush == SystemColors.ActiveCaption) This fails. Says you can\'t compare a brush and a color. How do I find the 开发者_开发知识库color of the brush?If backBrush is a SolidColorBrush (based
if (backBrush == SystemColors.ActiveCaption)

This fails. Says you can't compare a brush and a color.

How do I find the 开发者_开发知识库color of the brush?


If backBrush is a SolidColorBrush (based on what you're trying to do it probably is) you can use:

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


If the brush is a SolidBrush you can compare the Color member of the brush. Something like this.

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

The above is for WinForms, for WPF you would use SolidColorBrush rather than SolidBrush.


A Brush does not have a color.

You use a Brush with a Color for filling/painting etc.

Some brushes do have a color (HatchBrush has two), so you will need to cast to the type of brush and compare colors then:

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


Have you tried the SystemBrushes namespace?

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

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号