2013-08-28 50 views
1

我目前保存color.value.name到SQL數據庫作爲字符串由下面的代碼使用DB保存顏色的標籤前景色

this.colorDialog1.Color.Name 

,但是當我看到從數據庫保存的顏色,並希望作爲前使用以下代碼的顏色標籤

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

它不工作!

有時在db中保存的顏色名稱就像「ffc8dd7d」,但有時它保存爲「紅色」!我不知道爲什麼?

+0

實際上它的工作原理,當它保存爲「紅」,但是當保存像「ffc8dd7d」 –

回答

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); 
+0

的偉大工程,由於 –

+0

@franchescototti歡迎您不起作用。 – varocarbas