我正在尝试创建一个与值相关的颜色编码的进度条。例如,从0到35,进度条应为红色,高于35,绿色。知道如何去做吗?
If ProgressBar1.Value >= 35 Then
ProgressBar1.BackColor = Color.Green
Else
ProgressBar1.BackColor = Color.Red
End If
在同一进度条中的P.S,两种颜色都必须根据值
显示答案 0 :(得分:2)
您需要更改此设置。
Go to Project --> [WindowsApplication] Properties
On Application Tab -- Uncheck Enable Visual Styles
但是,请注意,您将看到进度条上的视觉更改。
然后您可能会像这样编码:
If (ProgressBar1.Value > 35) Then
ProgressBar1.ForeColor = Color.Red
Else
ProgressBar1.ForeColor = Color.Green
End If
答案 1 :(得分:0)
进度条的位置存储在ProgressBar1.value
中。您可以在If
语句中检查此值,并使用ProgressBar1.ForeColor
更改颜色
例如:
If ProgressBar1.value > 35 Then
ProgressBar1.ForeColor = Color.Lime
End If
我希望这会有所帮助;)
修改:尝试使用ProgressBar1.ForeColor
而不是ProgressBar1.BackColor
答案 2 :(得分:0)
您可以使用此方法。
Declare Auto Function SendMessage Lib "user32.dll" (ByVal hWnd As IntPtr, ByVal msg As Integer, ByVal wParam As Integer, ByVal lParam As Integer) As Integer
Enum ProgressBarColor
Green = &H1
Red = &H2
Yellow = &H3
End Enum
Private Shared Sub ChangeProgBarColor(ByVal ProgressBar_name As Windows.Forms.ProgressBar, ByVal ProgressBar_Color As ProgressBarColor)
SendMessage(ProgressBar_name.Handle, &H410, ProgressBar_Color, 0)
End Sub
然后通过调用上面的函数来添加条件语句,例如
If ProgressBar1.Value >= 35 Then
ChangeProgBarColor(ProgressBar1, ProgressBarColor.Red)
Else
ChangeProgBarColor(ProgressBar1, ProgressBarColor.Yellow)
End If