这个VB程序哪里出错了

来源:百度知道 编辑:UC知道 时间:2024/05/22 21:42:43
Private Sub form_Load()
hsbRed.Value = 0
hsbGreen.Value = 0
hsbBlue.Value = 0
PicPreview.BackColor = RGB(0, 0, 0)
End Sub

Private Sub hsbRed_Change()
PicPreview.BackColor = RGB(hsbRed.Value, hsbGreen.Value, hsbBlue.Value)
End Sub

Private Sub hsbBlue_Change()
PicPreview.BackColor = RGB(hsbRed.Value, hsbGreen.Value, hsbBlue.Value)
End Sub

Private Sub hsbGreen_Change()
PicPreview.BackColor = RGB(hsbRed.Value, hsbGreen.Value, hsbBlue.Value)
End Sub
这是一个调色板程序...

经测试,代码没错。检查控件的名称、属性:hsb的min=0 ,max=255,value=0

建议用Scroll事件,即时改变颜色:

Private Sub hsbRed_Scroll()
picPreview.BackColor = RGB(hsbRed.Value, hsbGreen.Value, hsbBlue.Value)
End Sub

Private Sub hsbBlue_Scroll()
picPreview.BackColor = RGB(hsbRed.Value, hsbGreen.Value, hsbBlue.Value)
End Sub

Private Sub hsbGreen_Scroll()
picPreview.BackColor = RGB(hsbRed.Value, hsbGreen.Value, hsbBlue.Value)
End Sub

用text换掉value
另外,如果三个文本框初始值是文本的话,那么在运行到hsbRed.Text = 0 时就会引发Private Sub hsbRed_Change(),这时由于hsbGreen和hsbBlue的内容都不是数字,RGB(hsbRed.Value, hsbGreen.Value, hsbBlue.Value) 就会出现错误