【发布时间】:2010-02-11 09:17:01
【问题描述】:
我有一个名为 ChangeFormBackground(Color colorName) 的方法,它使用 colorname 更改表单背景是方法的参数。现在,当我调用此方法时,我没有颜色名称,而是颜色的十六进制代码,我想使用该方法使用该十六进制代码更改表单的背景颜色,那么我该怎么办?
【问题讨论】:
我有一个名为 ChangeFormBackground(Color colorName) 的方法,它使用 colorname 更改表单背景是方法的参数。现在,当我调用此方法时,我没有颜色名称,而是颜色的十六进制代码,我想使用该方法使用该十六进制代码更改表单的背景颜色,那么我该怎么办?
【问题讨论】:
using System.Windows.Media;
Color color = (Color)ColorConverter.ConvertFromString("#FFDFD991");
(假设为 ARGB 值)
或
Color color = System.Drawing.ColorTranslator.FromHtml("#FFCC66");
【讨论】:
这将始终有效,因为它不包含 alpha 颜色(BackColor 属性不支持):
Color temp = Color.FromArgb(0xFF00FF);
Color result = Color.FromArgb(temp.R, temp.G, temp.B);
【讨论】:
Color.FromArgb(0xFF00FF); 使用哪个 alpha?
您可以使用FromArgb 方法:
Color.FromArgb(0x78FF0000);
【讨论】:
您可以使用ColorConverter Class 来处理颜色表示。
【讨论】: