使用DB中保存的颜色作为标签前色

时间:2013-08-28 08:33:01

标签: sql visual-studio-2010 c#-4.0 colors

我目前通过以下代码

将color.value.name保存为sql db作为字符串
this.colorDialog1.Color.Name 

但是当我从db中读取保存的颜色并希望通过以下代码

用作Label的前色
this.label3.ForeColor = System.Drawing.Color.FromName(dbsavedcolorstring);

它不起作用!!!

有时db中保存的颜色名称就像“ffc8dd7d”,但有时会保存为“Red”!我不知道为什么???

1 个答案:

答案 0 :(得分:0)

您的命名约定存在同步问题。 FromName Method适用于System.Drawing.Color struct中的名称;你得到的那些,例如,当你输入以下内容时:

this.label3.ForeColor = Color.Red; //Red is the name expected in Color.FromName

colorDialog1.Color.Name未存储为System.Drawing.Color(主要是因为此结构中的颜色数量远远超过潜在选项)。您可以强制Color按照您的意愿存储(并在将颜色应用于Label时依赖此约定)。例如:

Int storeAsARGB = this.colorDialog1.Color.ToArgb();
this.label3.ForeColor = Color.FromArgb(storeAsARGB);