2011-05-10 1 views
4

Utiliser Winforms .NET 3.5, Comment faire pour que l'écran entier clignote/clignote entre le rouge et le blanc pendant une seconde.Faire un écran clignotant/flash pour alerter l'utilisateur

J'ai un grand écran qui est seulement destiné à montrer l'état sur l'équipement surveillé. Je voudrais qu'il clignote comme une notification aux utilisateurs lorsqu'un événement se produit qu'ils devraient regarder.

Merci

+1

Avez-vous déjà remarqué que les programmes que vous utilisez tous les jours ne le font jamais? Les grandes surfaces clignotantes sont un déclencheur pour les personnes sujettes à des crises d'épilepsie. Oops. –

+2

Merci pour les réponses. Je comprends que ce serait ennuyeux si cela se produisait sur le bureau d'un utilisateur. Il y a des écrans qui sont à 20 pieds de distance pour chaque ligne de production qui surveille certains équipements. En clignotant lorsque les alertes sont détectées, le personnel visualisera rapidement toute ligne qui a le droit de faire des recherches plus approfondies, car il risque de ne pas regarder son écran toute la journée et toute la nuit. –

Répondre

3

Utilisez ce que tbischel a suggéré. Voici un exemple de code pour la minuterie.

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 

Il alterne entre rouge et blanc et quel que soit l'intervalle que vous spécifiez pour votre minuterie. Il s'arrêtera après combien de secondes vous le donnez. Lorsque cela est fait, il définit la couleur en gris, supprime l'indicateur .TopMost et réinitialise WindowState.

Cela étant dit; c'est vraiment ennuyeux :)

2

vous pouvez créer un formulaire maximisé en blanc avec le FormBorderStyle réglé sur FormBorderStyle.None, et définir la couleur d'arrière-plan sur une minuterie.

Questions connexes