我正在使用colordialog让用户选择一种颜色,然后将其保存到数据库中。当加载颜色以填充标签时,它就像一个字符串。 如何转换:
Color `[A=255, R=128, G=128, B=255]` to color
有没有办法保存用户选择的值
如果我使用这些选项,则alpha值将丢失
Dim c As Color
c = Color.FromName("red")
c = Color.FromArgb(255, 0, 0)
c = Color.FromKnownColor(KnownColor.Red)
答案 0 :(得分:1)
正如评论所说,您可以存储32-bit ARGB value
。它基本上是一个数值。如果你这样编码,那么就不需要编写一个函数来提取颜色值。
'your string selected from a color dialog
Dim clrDialog As New ColorDialog
If clrDialog.ShowDialog = Windows.Forms.DialogResult.OK Then
TextBox1.Text = clrDialog.Color.ToArgb.ToString
End If
clrDialog.Dispose()
' to get back ARGB value from string
TextBox1.BackColor = Color.FromArgb(CInt(TextBox1.Text))