Получение объекта цвета из ColorDialog.color.name

В моем приложении winforms у меня есть элемент управления ColorDialog, и когда пользователь выбирает цвет, я сохраняю имя объекта цвета. Значение пользовательского цвета начинается с FF, например: fffdfcc8 (это светло-желтый/кремовый цвет).

Где-то позже я хочу перейти к объекту цвета из строки имени цвета, 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

ОБНОВЛЕНИЕ 2: добавление # перед значением пользовательского имени и использование System.Drawing.ColorTranslator.FromHtml("#" & color) действительно выполняет свою работу. Не уверен, что делать дальше, так как для меня это было не так очевидно... пусть это решает модератор.

ОБНОВЛЕНИЕ: это не дубликат, поскольку значение имени не является шестнадцатеричным значением.


person glant    schedule 21.11.2016    source источник
comment
Возможный дубликат Как получить цвет из шестнадцатеричного цветового кода, используя .NET?   -  person Phiter    schedule 22.11.2016
comment
@Phiter Это не дубликат, поскольку значение, которое у меня есть, не является шестнадцатеричным значением, которое начинается с #. У меня также нет доступной библиотеки преобразователя   -  person glant    schedule 22.11.2016
comment
Просто добавьте хэш   -  person Phiter    schedule 22.11.2016
comment
Вы можете сделать это: System.Drawing.ColorTranslator.FromHtml("# " + color);   -  person Phiter    schedule 22.11.2016
comment
@PhiterFernandes Спасибо, что сделал это, я попробовал функцию html, но не подумал о добавлении #. Еще раз спасибо   -  person glant    schedule 22.11.2016


Ответы (1)


Префикс # к пользовательскому имени и используйте его, как это должно работать. Как указано в комментариях и обновлениях. Спасибо Фитеру Фернандесу за помощь.

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