-1

如何获取控件的颜色,例如标签或矩形?我需要做这样的事情:

if (label.foreground == #FFFFFF)
    Messagebox.Show("Branco!").

有一段时间,我用这个解决了我的问题:

SolidColorBrush mySolidColorBrush = new SolidColorBrush();
mySolidColorBrush.Color = Color.FromRgb(255, 255, 255);
if (rec.Fill == mySolidColorBrush)
    MessageBox.Show("Branco!");

以下是我在尝试已经发布的答案时遇到的错误:

在此处输入图像描述


在此处输入图像描述


在此处输入图像描述

4

3 回答 3

0

现在我知道您正在使用 WPF,下面介绍如何在标签上设置颜色。使用该Foreground属性并将其设置为有效值Brushes

if (label.Foreground = Brushes.White)
    MessageBox.Show("Branco!");

与矩形相同:

var rect = new Rectangle();
rect.Fill = Brushes.Green;
于 2013-08-11T16:10:04.720 回答
0
if (label.ForeColor == System.Drawing.Color.Black) 
{
    // Do something here
}
于 2013-08-11T16:10:20.290 回答
0

根据MSDN的 Type of ForeColoris System.Drawing.Color,这意味着您需要将元素颜色与预定义的颜色进行比较System.Drawing.SystemColors

编辑

请检查这些问题
使用十六进制代码更改表单的背景颜色将十六进制代码
转换为颜色名称

尝试这样的事情

if (label.ForeColor == Color.FromArgb(0xFFFFFF)) Messagebox.Show("Branco!");
于 2013-08-11T16:17:31.720 回答