我目前通过以下代码
将color.value.name保存为sql db作为字符串this.colorDialog1.Color.Name
但是当我从db中读取保存的颜色并希望通过以下代码
用作Label的前色this.label3.ForeColor = System.Drawing.Color.FromName(dbsavedcolorstring);
它不起作用!!!
有时db中保存的颜色名称就像“ffc8dd7d”,但有时会保存为“Red”!我不知道为什么???
答案 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);