2009-12-16 108 views

回答

142
ColorTranslator.FromHtml("#FF00FF"); 
14

当您使用Convert-Class时,这很容易。该ToInt32函数具有带有表示基本的字符串是在第二参数的重载

using System.Drawing 

Color yourColor = Color.FromARGB(Convert.ToInt32("FF00FF", 16)); 
9

使用ColorConverter类:

var converter = System.ComponentModel.TypeDescriptor.GetConverter(typeof(Color)); 
color = converter.ConvertFromString("#FF00FF"); 

这也可以从标准命名的颜色转换例如ConvertFromString(“Blue”)

有关标准.NET类型转换机制的讨论,请参阅here

51

您可以使用System.Drawing.ColorTranslator静态方法FromHtml。

使用:

System.Drawing.ColorTranslator.FromHtml("#FFFFFF"); 
0

的FROMNAME方法为我工作

System.Drawing.Color.FromName("#FF00FF"); 
+0

这不适用于.NET 3.5 – UNeverNo 2014-02-07 10:13:40

0

如果你想使用的颜色是一个常数,在C#中使用System.Drawing.Color.FromArgb (0xFF00FF)。这比System.Drawing.Color.FromNameSystem.Drawing.Color.FromHtml稍快,因为从字符串解析为整数是在编译时而不是在运行时完成的。