NotifyIcon Global - Ich blick grad nicht durch

  • VB.NET
  • .NET (FX) 4.5–4.8

Es gibt 2 Antworten in diesem Thema. Der letzte Beitrag () ist von michl75.

    NotifyIcon Global - Ich blick grad nicht durch

    Hallo,

    ich brauch mal eure Hilfe bitte. Hin und wieder habe ich ein NotifyIcon auf einer Form, aber je Form wird dann auch ein Icon angelegt.
    Einigen stört das hier, also solls ein globaler Notify werden...

    Hab einfach mal gesucht und was gefunden.

    Aber entweder bin ich einfach überarbeitet und brauch dringen auch Urlaub oder bin einfach zu doof im Moment...

    Wie rufe ich das auf:
    Klasse angelgt, leicht angepasst und nun soll aus jeder Form halt ein Notify-Info übergeben werden , wenn nötig.

    VB.NET-Quellcode

    1. Public Class Global_NotifyInfo
    2. Private WithEvents CounterTimer As New Timer With {.Enabled = False}
    3. Private ParentNotifyIcon As NotifyIcon
    4. Private MessageList As New List(Of BalloonTipMessage)
    5. Public Sub New(TargetNotifyIcon As NotifyIcon)
    6. Me.ParentNotifyIcon = TargetNotifyIcon
    7. End Sub
    8. Public Sub ShowMessage(ByVal Message As String, Optional ByVal DisplayDuration As Integer = 10000) 'Optional ByVal State As ToolTipIcon = ToolTipIcon.Info
    9. ShowMessage(New BalloonTipMessage With {.Message = Message, .State = ToolTipIcon.Info, .DisplayDuration = DisplayDuration})
    10. End Sub
    11. Public Sub ShowMessage(ByVal BalloonMessage As BalloonTipMessage)
    12. Me.MessageList.Add(BalloonMessage)
    13. If Not CounterTimer.Enabled Then CounterTimer.Interval = 5
    14. CounterTimer.Start()
    15. End Sub
    16. Private Sub CounterTimer_Tick(sender As Object, e As EventArgs) Handles CounterTimer.Tick
    17. If MessageList.Count = 0 Then
    18. CounterTimer.Stop()
    19. Else
    20. CounterTimer.Interval = MessageList(0).DisplayDuration
    21. DisplayBalloonMessage(MessageList(0))
    22. MessageList.RemoveAt(0)
    23. End If
    24. End Sub
    25. Private Sub DisplayBalloonMessage(ByVal BalloonMessage As BalloonTipMessage)
    26. With BalloonMessage
    27. ParentNotifyIcon.ShowBalloonTip(.DisplayDuration, My.Application.Info.ProductName, .Message, .State)
    28. End With
    29. End Sub
    30. Public Structure BalloonTipMessage
    31. Dim Message As String
    32. Dim State As ToolTipIcon
    33. Dim DisplayDuration As Integer
    34. End Structure
    35. End Class


    Vielleicht is einer so nett und hilft ma weiter :) Danke vorab...

    Michl
    @michl75 Zieh ein Notify-Icon im Designer auf die MainForm.
    Feddich.
    Falls Du diesen Code kopierst, achte auf die C&P-Bremse.
    Jede einzelne Zeile Deines Programms, die Du nicht explizit getestet hast, ist falsch :!:
    Ein guter .NET-Snippetkonverter (der ist verfügbar).
    Programmierfragen über PN / Konversation werden ignoriert!