Eat*_*aik 4 vb.net timer winforms
Stopwatch
我的表单中有一个以格式Interval = 1000
显示的hh:mm:ss
。
到达第五秒时,应该开始将标签背景闪烁为绿色,但到目前为止,我只能使背景颜色变为绿色,而不会闪烁。
这就是我将背景色变为绿色的方式:
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Label1.Text = SW.Elapsed.ToString("hh\:mm\:ss")
If Label1.Text = "00:00:05" Then
Label1.BackColor = Color.Green
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
如何使标签闪烁?
您可以使用一种简单的Async
方法来执行此操作。
以下代码将产生Label1
闪烁效果。由于我们已经使用While True
过,一旦您点击“ 00:00:05”,此操作将无限期继续。
Private Async Sub Flash()
While True
Await Task.Delay(100)
Label1.Visible = Not Label1.Visible
End While
End Sub
Run Code Online (Sandbox Code Playgroud)
您可以在Timer1_Tick
方法内部调用此方法:
Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
Label1.Text = SW.Elapsed.ToString("hh\:mm\:ss")
If Label1.Text = "00:00:05" Then
Label1.BackColor = Color.Green
Flash()
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
如果您只想闪烁几次,我们可以对以下内容进行简单的更改Flash()
:
Private Async Sub Flash()
For i = 0 To 10
Await Task.Delay(100)
Label1.Visible = Not Label1.Visible
Next
'set .Visible to True just to be sure
Label1.Visible = True
End Sub
Run Code Online (Sandbox Code Playgroud)
通过将数字10更改为您选择的数字,可以缩短或延长闪光时间。我在循环Label1.Visible = True
之后添加了For
以确保Label
闪烁完成后看到的内容。
您将需要导入
System.Threading.Tasks
才能使用Task.Delay
。
归档时间: |
|
查看次数: |
8688 次 |
最近记录: |