システムのコーディングを行っていて、VB.NET で通常のタイマーの代わりにスレッドを使用する必要があります。
正常に動作しますが、問題は点滅のタイミングにあります。ボタンをクリックすると、期待どおりに点滅します。テストで複数回クリックすると、点滅時間が元のスリープ スレッド時間 (750ms) でほぼ乗算され、これが続きます。クリックごとに発生します。
まばたきが速くならないようにするにはどうすればよいですか? 以下はコードです!
Private _flash As Boolean = False
Private Sub btnButton1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnButton1.Click
_flash = True
Dim FlashThread As New Thread(New ThreadStart(AddressOf FlashLabel))
FlashThread.Start()
End Sub
Private Sub FlashLabel()
Dim _color As Color = Color.Gray
While _flash
If label1.ForeColor.Equals(_color) Then
label1.ForeColor = Color.Red
Else
label1.ForeColor = Color.Gray
System.Threading.Thread.Sleep(750)
End While
End Sub