我希望在我的应用中实现基本的ColorPicker
,我需要的是,当用户点击TextBox
时出现ColorPicker
,当用户选择颜色时TextBox
1}} BackColor获取所选颜色,我也希望在TextBox中显示所选颜色的值。这就是我实际做的事情:
Private Sub resource_colore_TextChanged(sender As Object, e As EventArgs) Handles resource_colore.Click
Dim cDialog As New ColorDialog
Dim conv As New ColorConverter
cDialog.Color = resource_colore.BackColor
If (cDialog.ShowDialog() = DialogResult.OK) Then
resource_colore.BackColor = cDialog.Color
Dim hex_color As String = Hex(cDialog.Color)
resource_colore.Text = hex_color
End If
End Sub
现在问题是我得到了这个例外:
无法在“颜色”类型中转换参数“数字”
在这一行:
Dim hex_color As String = Hex(cDialog.Color)
究竟是什么意思?我怎么解决?
答案 0 :(得分:3)
根据Plutonix的建议,答案很简单,我这样修理:
Private Sub resource_colore_TextChanged(sender As Object, e As EventArgs) Handles resource_colore.Click
Dim cDialog As New ColorDialog
Dim conv As New ColorConverter
cDialog.Color = resource_colore.BackColor
If (cDialog.ShowDialog() = DialogResult.OK) Then
resource_colore.BackColor = cDialog.Color
Dim hex_color As String = String.Format("#{0:X2}{1:X2}{2:X2}", cDialog.Color.R, cDialog.Color.G, cDialog.Color.B)
resource_colore.Text = hex_color
End If
End Sub
感谢所有人