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.
Vielleicht is einer so nett und hilft ma weiter Danke vorab...
Michl
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
- Public Class Global_NotifyInfo
- Private WithEvents CounterTimer As New Timer With {.Enabled = False}
- Private ParentNotifyIcon As NotifyIcon
- Private MessageList As New List(Of BalloonTipMessage)
- Public Sub New(TargetNotifyIcon As NotifyIcon)
- Me.ParentNotifyIcon = TargetNotifyIcon
- End Sub
- Public Sub ShowMessage(ByVal Message As String, Optional ByVal DisplayDuration As Integer = 10000) 'Optional ByVal State As ToolTipIcon = ToolTipIcon.Info
- ShowMessage(New BalloonTipMessage With {.Message = Message, .State = ToolTipIcon.Info, .DisplayDuration = DisplayDuration})
- End Sub
- Public Sub ShowMessage(ByVal BalloonMessage As BalloonTipMessage)
- Me.MessageList.Add(BalloonMessage)
- If Not CounterTimer.Enabled Then CounterTimer.Interval = 5
- CounterTimer.Start()
- End Sub
- Private Sub CounterTimer_Tick(sender As Object, e As EventArgs) Handles CounterTimer.Tick
- If MessageList.Count = 0 Then
- CounterTimer.Stop()
- Else
- CounterTimer.Interval = MessageList(0).DisplayDuration
- DisplayBalloonMessage(MessageList(0))
- MessageList.RemoveAt(0)
- End If
- End Sub
- Private Sub DisplayBalloonMessage(ByVal BalloonMessage As BalloonTipMessage)
- With BalloonMessage
- ParentNotifyIcon.ShowBalloonTip(.DisplayDuration, My.Application.Info.ProductName, .Message, .State)
- End With
- End Sub
- Public Structure BalloonTipMessage
- Dim Message As String
- Dim State As ToolTipIcon
- Dim DisplayDuration As Integer
- End Structure
- End Class
Vielleicht is einer so nett und hilft ma weiter Danke vorab...
Michl