1

現在、次のコードで color.value.name を文字列として sql db に保存しています

this.colorDialog1.Color.Name 

しかし、保存された色をdbから読み込んで、次のコードでラベルの前の色として使用したい場合

this.label3.ForeColor = System.Drawing.Color.FromName(dbsavedcolorstring);

それは動作しません!!!

db に保存された色の名前が "ffc8dd7d" のようになることもあれば、"Red" として保存されることもあります!? どうしてか分かりません ???

4

1 に答える 1

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);
于 2013-08-28T08:51:25.177 に答える