compare a brush and color
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)
{...
精彩评论