所以我想知道是否有一种方法我可以拥有自定义颜色背景使用 RGB 。我有三个文本框,一个用于红色,一个用于绿色,一个用于蓝色。 但是,当我尝试这个代码时
Me.BackColor = Color.FromArgb(TextBox1.Text, TextBox2.Text, TextBox3.Text)
它只是赢了工作......我尝试在Google上搜索它,但没有找到我希望它做的结果
答案 0 :(得分:1)
我建议您避免使用文本框,然后更好地使用NumericUpDown
控件以便友好地设置 255 的最大值,然后继承ValueChanged
或{{1 } event取决于你想要的响应行为。
一个例子:
KeyUp
答案 1 :(得分:1)
我要说的第一件事是确保启用Option Strict
它会告诉编译器通知您隐式类型转换等。
将隐式数据类型转换限制为仅扩展转换,禁止后期绑定,并禁止导致对象类型的隐式类型
由于您使用TextBox进行输入,我将使用Integer.TryParse
方法确保您输入正确的数据,如下所示。
Private Sub SetBackground()
Dim argR, argG, argB As Byte
If Byte.TryParse(TextBox1.Text, argR) Then
If Byte.TryParse(TextBox2.Text, argG) Then
If Byte.TryParse(TextBox3.Text, argB) Then
Me.BackColor = Color.FromArgb(argR, argG, argB)
Return
End If
End If
End If
MsgBox("Error Invalid Entry", MsgBoxStyle.Information, "Entry Error")
End Sub