2011-05-10 107 views
4

使用.NET 3.5 Winforms,我将如何使整个屏幕在红色和白色之间闪烁/闪烁一秒钟。使屏幕闪烁/闪烁提醒用户

我有一个大屏幕,只是为了显示监控设备的状态。我希望它在用户发生应该查看的事件时作为通知闪烁。

谢谢

+1

有没有注意到你每天使用的程序永远不会这样做?大闪烁的表面是容易遭受癫痫发作的人的触发器。哎呀。 – 2011-05-10 01:06:23

+2

感谢您的回答。我知道如果它出现在用户的桌面上,这会很烦人。每个生产线都有20英尺远的屏幕监控某些设备。通过检测到警报时闪烁,它将为工作人员提供一个快速可视化的任何线路,供他们进行进一步调查,因为他们可能不会整天盯着他们的屏幕。 – 2011-05-10 06:54:45

回答

3

使用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

你可以创建一个设置为FormBorderStyle.None的FormBorderStyle空白最大化的形式,并设置一个计时器背景色。