Когда вы используете cdlg.Color.ToString
, он на самом деле не преобразует его в строку, которую он может прочитать позже.Он просто конвертирует его во что-то вроде "color [Yellow]" .
Если вы хотите использовать Color.FromName
, вам нужно будет передать его просто "Yellow" в противном случае он вернет что-то неожиданное.Вероятно, цветовой объект со значением по умолчанию или ничего не значащим.
Я бы предложил вам использовать ColorConverter
Dim colorConv As New ColorConverter
TextBox1.Text = colorConv.ConvertToString(cdg.Color)
Это вернет строку «Желтый», которую вы можетеиспользуйте как хотите.
'Using FormName
TextBox1.BackColor = Color.FromName(TextBox1.Text)
'Using the color converter again (recommended).
Dim colorConv As New ColorConverter
TextBox1.BackColor = colorConv.ConvertFromString(TextBox1.Text)
Вы также можете использовать подстроку, чтобы получить "Желтый" деталь в "Цвет [Желтый]" .: P