2016-11-21 2 views
0

내 winforms 응용 프로그램에는 ColorDialog 컨트롤이 있으며 사용자가 색상을 선택하면 색상 객체의 이름을 저장합니다. 사용자 정의 색상 값은 FF ex : fffdfcc8로 시작합니다 (이것은 연한 노란색/크림색입니다)ColorDialog.color.name에서 색상 객체 가져 오기

일부는 나중에 색상 이름 문자열 fffdfcc8에서 system.drawing.color로 색상 객체를 가져 오려고합니다. 목적. 내가 어떻게 이럴 수 있니? 사용자 정의 이름 값 앞에 #을 추가하고 작업을 완수 않는 System.Drawing.ColorTranslator.FromHtml("#" & 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  

어떻게 UPDATE2

DgView.CurrentCell.Text

에서 이름 값을 기준으로 색상 개체를 만들 수 있습니다. 나에게 다음에해야 할 일이 무엇인지 확실하지 않다. 결정할 중재자에게 맡겨라.

업데이트 : 이름 값이 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)