晚上好。
我想知道如果进度条达到特定百分比,是否可以触发事件。
例如:一旦进度条达到其值的90%,它将触发弹出的消息框。
我使用 ProgressBar 进行两次比较。我可以在 DateTimePicker 中输入一个时间,将其与本地桌面时间进行比较。我点击按钮,启用计时器,然后开始比较这些时间。最小值和最大值总是不同,因为我比较时间,所以每次进度条达到90%时如何触发事件?
您可能已经注意到,英语不是我的主要语言,因此使用我现在使用的代码会更容易理解:
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ProgressBar1.Minimum = 0
ProgressBar1.Maximum = GetTimeDifference(DateTimePicker1.Value, DateTime.Now)
Timer1.Start()
End Sub
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
Dim value As Integer = ProgressBar1.Maximum - GetTimeDifference(DateTimePicker1.Value, DateTime.Now)
If value > ProgressBar1.Maximum Then
Timer1.Stop()
Exit Sub
End If
ProgressBar1.Value = value
End Sub
Public Function GetTimeDifference(ByVal EndTime As DateTime, ByVal StartTime As DateTime) As Integer
Dim span As TimeSpan = EndTime.TimeOfDay - StartTime.TimeOfDay
Dim result As Integer = CInt(span.TotalSeconds)
Return result
End Function
谢谢, 约迪。
答案 0 :(得分:1)
我认为你不需要一个事件就像一个变量来检查你是否达到了90%:
Private overNinety As Boolean = False
在tick方法中:
ProgressBar1.Value = value
If Not overNinety AndAlso ProgressBar1.Value >= ProgressBar1.Maximum * 0.9 Then
overNinety = True
'Do your thing here...
End If