2016-11-21 6 views
0

私のwinformsアプリケーションでは、ColorDialogコントロールがあり、ユーザーがカラーを選択すると、カラーオブジェクトの名前が保存されます。カスタムカラー値はFFで始まる:fffdfcc8(これは明るい黄色/クリーム色)ColorDialog.color.nameからカラーオブジェクトを取得する

後でカラー名文字列fffdfcc8からsystem.drawing.colorにカラーオブジェクトを取得したい場合がありますオブジェクト。これどうやってするの??? は、カスタム名の値の前に#を追加し、仕事を得るんSystem.Drawing.ColorTranslator.FromHtml("#" & color)を使用して:

DgView.CurrentCell.Text

に名前値に基づいてアップデート2をカラーオブジェクトを作成する方法

 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  

。それ以来何をしているのか分かりません...決定するためにモデレータに任せてください

更新: 名前の値が16進値ではないので、これは重複しません。

+0

の可能性のある重複した[.NETを使用して16進数のカラーコードから色を取得する方法?](http://stackoverflow.com/questions/2109756/how-to-get-color-from-hexadecimal-color- code-using-net) – Phiter

+0

@Phiterこれは、私が持っている値が#で始まる16進数ではないので重複しません。私もコンバーターライブラリーを利用できません – glant

+0

ハッシュを追加するだけです – Phiter

答えて

0

プレフィックス#をカスタム名に使用し、これを使用するとうまくいくはずです。コメントと更新に示されている通り。ヘルプのためのPhiter Fernandesに感謝します。

Dim strColor = DgView.CurrentCell.Text 
    System.Drawing.ColorTranslator.FromHtml("#" & strColor) 
関連する問題