Сделать мигание экрана / вспышки, чтобы предупредить пользователя - PullRequest
4 голосов
/ 10 мая 2011

Используя .NET 3.5 Winforms, Как бы я заставил весь экран мигать / мигать между красным и белым всего за секунду.

У меня большой экран, который предназначен только для отображения статуса на контролируемом оборудовании. Я хотел бы, чтобы он мигал как уведомление для пользователей, когда происходит событие, на которое они должны смотреть.

Спасибо

Ответы [ 2 ]

3 голосов
/ 10 мая 2011

Используйте то, что предложил tbischel. Вот пример кода для таймера.

Private TickCount As Integer = 0
Private Const NUMBER_OF_SECONDS As Integer = 1

Private Sub Timer1_Tick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Timer1.Tick
    Me.BackColor = If(Me.BackColor = Color.White, Color.Red, Color.White)
    TickCount += 1

    If TickCount >= NUMBER_OF_SECONDS * 1000 / Timer1.Interval Then
        Timer1.Stop()
        Me.BackColor = Color.Gray
        Me.TopMost = False
        Me.WindowState = FormWindowState.Normal
    End If
End Sub

Он будет чередоваться между красным и белым и любым интервалом, который вы указали для своего таймера. Это прекратится через сколько секунд вы дадите это. Когда это сделано, он устанавливает серый цвет, удаляет флаг .TopMost и возвращает WindowState обратно в нормальное состояние.

Сказав это; это действительно раздражает :)

2 голосов
/ 10 мая 2011

Вы можете создать пустую развернутую форму с FormBorderStyle, установленным в FormBorderStyle.None, и установить цвет фона на таймере.

...