Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 将对象转换为System.Drawing.Color_C#_.net_Colors - Fatal编程技术网

C# 将对象转换为System.Drawing.Color

C# 将对象转换为System.Drawing.Color,c#,.net,colors,C#,.net,Colors,我知道有很多方法可以在C#中转换颜色,从字符串到颜色值的转换,HTML转换,甚至XNA框架;但是,我有一个返回System.Drawing.Color类型的对象;但由于它是一个“对象”,而不是一个“颜色”,我似乎不能在它上面使用普通的颜色命令 public void SetPropertyValue(string propertyName, object value) { _PropertyValues[propertyName] = value; Con

我知道有很多方法可以在C#中转换颜色,从字符串到颜色值的转换,HTML转换,甚至XNA框架;但是,我有一个返回System.Drawing.Color类型的对象;但由于它是一个“对象”,而不是一个“颜色”,我似乎不能在它上面使用普通的颜色命令

public void SetPropertyValue(string propertyName, object value)
    {
        _PropertyValues[propertyName] = value;
        Console.WriteLine("Setting Property: {0}={1}", propertyName, value);
    }
上面是用户在C#中更改属性网格上的值时发生的情况。结果如下:

已知名称

设置属性:颜色=颜色 [灰色]

自定义颜色

设置属性:Color=Color[A=255,R=255,G=255,B=128]

系统颜色

设置属性:颜色=颜色[ControlText]

我想把它的值转换成一种颜色,这样我就可以把它放在一个defaultColor变量中,这个变量以前是在程序中创建的

但是,由于它是一个对象而不是实际的“System.Drawing.Color”,因此我不能使用以下内容:

.ToKnownColor()

.ToArgb()

.ToName()

等等

我知道必须有一种方法将对象转换为实际颜色。我执行value.GetType(),它返回System.Drawing.Color,因此系统知道它是一种颜色,但就我而言,我似乎无法操纵它


我还不是C#方面的专家,如果这听起来很简单,我很抱歉,但我仍然需要一些帮助。

将其转换为
颜色

var effectiveColor = (System.Drawing.Color)value;

括号中的这个东西是一个,你告诉编译器你知道得更好,变量的实际类型是另一种类型。

对象实际上是一种颜色,它只是被一个对象引用。所以你所需要做的就是把它变成一种颜色

Color myColor = (Color)value;
// now you can do all color operations on myColor

您应该能够将
对象
强制转换为
颜色
,如果仅此而已:

Color color = (Color)value;

太棒了,谢谢你的快速回复。对不起,有时候我真是个傻瓜:(.顺便问一下,为什么这个能起作用?我经常没有看到这样的注释,所以我不太清楚为什么会起作用。哈哈,非常感谢你的回答;我喜欢你描述它为什么能起作用的方式。这会很方便的。:)非常感谢;说到C,我还是个新手(有些事情我还不太清楚:)