C#将对象铸成System.Drawing.Color



我正在尝试将从注册表密钥读取的颜色设置转换为system.drawing.color。我正在施放从注册表返回到system.drawing.color,之后的对象:将对象转换为system.drawing.color

System.Drawing.Color color = (System.Drawing.Color)result;

以下是我作为对象获得的这些注册表值的几个示例:

Type     Data
REG_SZ   Color [Olive]
REG_SZ   Color [A=255, R=255, G=128, B=128]

将第一个注册表键施加到System.Drawing.Color工作正常,但是当施放第二个键时,我会得到"指定的铸件无效"错误。能够将这两个键施放为system.drawing.color的最佳方法是什么?

编辑:我认为解决此问题的最简单方法是写入注册表时,我将颜色转换为ArgB(INT32),当我阅读它时,我只能使用Color.FromArgb(除非有另一个解决方案我完全缺少)。

您从注册表中获得的内容可能是一个字符串,因此请按照此页面建议使用ColorConverter类

这是一个示例代码:

Color regColor = (Color)ColorConverter.ConvertFromString((string)result);

相关内容

  • 没有找到相关文章

最新更新