Как организовать мигающий индикатор события? - Visual Basic .NET

Узнай цену своей работы

Формулировка задачи:

В цикле таймера периодически происходит очень короткое событие. Хотелось бы в этот момент видеть на форме вспыхивающий на короткое время "светодиод". Использование другого таймера для организации длительности вспышки думаю не очень хороший способ. Наверняка кто-то решал подобную задачу, пожалуйста, поделитесь.
null

Решение задачи: «Как организовать мигающий индикатор события?»

textual
Листинг программы
Public Class Form1
    Dim tmr As New Timer With {.Interval = 100}
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        AddHandler tmr.Tick, AddressOf Tick
    End Sub
    Private Sub IndicatorFlash(ByVal fLight As Boolean)
        Dim gr As System.Drawing.Graphics = Me.CreateGraphics
        Dim br As SolidBrush
        If fLight Then 'зажигаем индикатор
            br = New SolidBrush(Color.Red)
        Else 'гасим индикатор
            br = New SolidBrush(Me.BackColor)
        End If
        Dim rc As New Rectangle(0, 0, 20, 20)
        gr.FillEllipse(br, rc)
    End Sub
    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        IndicatorFlash(True)
        tmr.Start()
    End Sub
    Private Sub Tick(ByVal sender As System.Object, ByVal e As System.EventArgs)
        'гасим индикатор
        IndicatorFlash(False)
        tmr.Stop()
    End Sub
End Class

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5