2016-11-21 49 views
0

在我的winforms應用程序中,我有一個ColorDialog控件,當用戶選擇一種顏色時,我保存顏色對象的名稱。對於一個自定義的顏色值開始於FF ex:fffdfcc8(這是一種淺黃色/奶油色)從ColorDialog.color.name獲取顏色對象

一些以後我想從顏色名稱字符串中獲取顏色對象fffdfcc8到system.drawing.color目的。我怎樣才能做到這一點???

 Dim dlgColor As New ColorDialog() 
     dlgColor.AllowFullOpen = True 
     dlgColor.AnyColor = True 
     If dlgColor.ShowDialog() = System.Windows.Forms.DialogResult.OK Then 
      DgView.CurrentCell.Text = dlgColor.Color.Name 
     End If  

如何創建DgView.CurrentCell.Text

UPDATE2基於名義值顏色對象: 添加#在自定義名稱值的前面,使用System.Drawing.ColorTranslator.FromHtml("#" & color)不把工作做好。不知道下一步該怎麼做,因爲對我來說這不是那麼明顯......留給主持人決定

UPDATE: 這不是重複的,因爲名稱值不是十六進制值。

+0

的可能的複製[如何使用.NET從十六進制顏色代碼獲取顏色?(http://stackoverflow.com/questions/2109756/how-to-get-color-from-hexadecimal-color- code-using-net) – Phiter

+0

@Phiter它不是重複的,因爲我擁有的值不是以#開頭的十六進制值。我也沒有轉換器庫 – glant

+0

只需添加一個散列 – Phiter

回答

0

前綴#到自定義名稱並使用它像這樣應該工作。如評論和更新中所示。感謝Phiter Fernandes的幫助。

Dim strColor = DgView.CurrentCell.Text 
    System.Drawing.ColorTranslator.FromHtml("#" & strColor)