我的程序中有一个计时器,计时器触发一个进度条,当进度条完成时,它会显示一个标签。问题是标签在进度条完成之前变得可见。这是我的代码。
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If ComboBox1.SelectedItem = "Microsoft Office" Then
ProgressBar1.Visible = True
ProgressBar1.Increment(5)
End If
If ComboBox1.SelectedItem = "Windows 8" Then
ProgressBar1.Visible = True
ProgressBar1.Increment(1)
End If
If ComboBox1.SelectedItem = "Sony Vegas Pro 12.0" Then
ProgressBar1.Visible = True
ProgressBar1.Increment(10)
End If
If ComboBox1.SelectedItem = "Minecraft Premium" Then
ProgressBar1.Visible = True
ProgressBar1.Increment(20)
End If
If ProgressBar1.Value = ProgressBar1.Maximum Then
Timer1.Stop()
ProgressBar1.Value = 0
ProgressBar1.Visible = False
Button1.Visible = False
Button2.Visible = True
End If
If ComboBox1.SelectedItem = "Microsoft Office" Then
Label4.Visible = True
Exit Sub
End If
If ComboBox1.SelectedItem = "Windows 8" Then
Label5.Visible = True
Exit Sub
End If
If ComboBox1.SelectedItem = "Sony Vegas Pro 12.0" Then
Label6.Visible = True
Exit Sub
End If
If ComboBox1.SelectedItem = "Minecraft Premium" Then
Label7.Visible = True
Exit Sub
End If
End Sub
如果我能够在进度条变得可见之前找到标签出现的原因,那就太棒了!
答案 0 :(得分:0)
问题在于If
陈述的逻辑。使Label
之一可见的最后三个在每个刻度上进行评估和执行。如果您只想在进度条完成时对它们进行评估,请尝试更多这样的:
Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
If ComboBox1.SelectedItem = "Microsoft Office" Then
ProgressBar1.Visible = True
ProgressBar1.Increment(5)
End If
If ComboBox1.SelectedItem = "Windows 8" Then
ProgressBar1.Visible = True
ProgressBar1.Increment(1)
End If
If ComboBox1.SelectedItem = "Sony Vegas Pro 12.0" Then
ProgressBar1.Visible = True
ProgressBar1.Increment(10)
End If
If ComboBox1.SelectedItem = "Minecraft Premium" Then
ProgressBar1.Visible = True
ProgressBar1.Increment(20)
End If
If ProgressBar1.Value = ProgressBar1.Maximum Then
Timer1.Stop()
ProgressBar1.Value = 0
ProgressBar1.Visible = False
Button1.Visible = False
Button2.Visible = True
If ComboBox1.SelectedItem = "Microsoft Office" Then
Label4.Visible = True
Exit Sub
End If
If ComboBox1.SelectedItem = "Windows 8" Then
Label5.Visible = True
Exit Sub
End If
If ComboBox1.SelectedItem = "Sony Vegas Pro 12.0" Then
Label6.Visible = True
Exit Sub
End If
If ComboBox1.SelectedItem = "Minecraft Premium" Then
Label7.Visible = True
Exit Sub
End If
End If
End Sub