| |

VB.NET - FortgeschritteneRe: Icon Container | |  | Autor: MichaelZiegler2005 | Datum: 30.06.05 07:27 |
| Hallo
Danke für deine Antwort.
Mit zuckt und blinkt meine ich dass man deutlich merkt,
dass ein neues Icon im Systray aufgebaut wird, d.h.
die Übergänge von einem zum anderen Icon sind
nicht flüssig.
Der Code:
Option Explicit On
Option Strict On
Imports System.Management
Imports System.Windows.Forms
Public Class Wlan
Inherits System.Windows.Forms.Form
...
...
...
#Region " RssiFire"
Public Class RssiFire
Inherits System.Timers.Timer
Public Sub New(ByVal interval As Integer, Optional ByVal start As Boolean = False) ' Constructor
MyBase.Interval = interval
MyBase.Enabled = True
If start Then MyBase.Start()
AddHandler MyBase.Elapsed, AddressOf fire ' if time is elapsed, go to sub "fire"
End Sub
Public Event RssiSignal(ByVal Signalstrength As Integer) ' Declare Event
Private Sub fire(ByVal sender As Object, ByVal e As Timers.ElapsedEventArgs) ' looks for active Wlan adapters
Dim searcher As New ManagementObjectSearcher("root\WMI", "select Ndis80211ReceivedSignalStrength from MSNdis_80211_ReceivedSignalStrength where active=true")
For Each mo As ManagementObject In searcher.Get
RaiseEvent RssiSignal(Int32.Parse(mo("Ndis80211ReceivedSignalStrength").ToString))
Next
searcher.Dispose()
End Sub
End Class
Dim WithEvents Rssi As New Wlan.RssiFire(800, True) ' Create new instance(time in ms, start as boolean)
Dim bitError As Byte
Dim WithEvents timerError As New Timers.Timer(800)
Private Sub timerError_Elapsed(ByVal sender As Object, ByVal e As Timers.ElapsedEventArgs) Handles timerError.Elapsed
If bitError = 1 Then
bitError = 0
ElseIf bitError = 0 Then
Rssi_RssiSignal(-110)
bitError = 0
End If
End Sub
Private Sub Rssi_RssiSignal(ByVal Signalstrength As Integer) Handles Rssi.RssiSignal
lbldbm.Text = CType(Signalstrength, String)
Try ' activate / deactivate icons
If Signalstrength <= -100 Then
NotifyIcon0.Visible() = True
NotifyIcon1.Visible() = False
NotifyIcon2.Visible() = False
NotifyIcon3.Visible() = False
NotifyIcon4.Visible() = False
NotifyIcon5.Visible() = False
NotifyIcon6.Visible() = False
NotifyIcon7.Visible() = False
NotifyIcon8.Visible() = False
NotifyIcon9.Visible() = False
NotifyIcon10.Visible() = False
NotifyIcon11.Visible() = False
NotifyIcon12.Visible() = False
NotifyIcon13.Visible() = False
NotifyIcon14.Visible() = False
NotifyIcon15.Visible() = False
NotifyIcon16.Visible() = False
elseif signalstrength ... then...
'für jedes der 16 icons ein elseif block der das passende icon aktiviert
'und alle anderen deaktiviert
End If
Catch e2 As Exception
MessageBox.Show(e2.Message & Environment.NewLine & "in " & e2.Source)
End Try
bitError = 1
End Sub
#End Region
Private Sub Wlan_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
WindowState = FormWindowState.Minimized
Visible = False
Hide()
ShowInTaskbar = False
timerError.Start()
End Sub
Private Sub icon_DoubleClick(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NotifyIcon0.Click, NotifyIcon1.Click, NotifyIcon2.Click, NotifyIcon3.Click, NotifyIcon4.Click, NotifyIcon5.Click, NotifyIcon6.Click, NotifyIcon7.Click, NotifyIcon8.Click, NotifyIcon9.Click, NotifyIcon10.Click, NotifyIcon11.Click, NotifyIcon12.Click, NotifyIcon13.Click, NotifyIcon14.Click, NotifyIcon15.Click, NotifyIcon16.Click
If (MessageBox.Show("Wollen Sie das Programm wirklich beenden?", "Exit", MessageBoxButtons.YesNo, MessageBoxIcon.Question)) = DialogResult.Yes Then
Close()
End If
End Sub
End Class |  |
 | Sie sind nicht angemeldet! Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.
Einloggen | Neu registrieren |
  |
|
vb@rchiv CD Vol.6 vb@rchiv Vol.6
Geballtes Wissen aus mehr als 8 Jahren vb@rchiv!
Online-Update-Funktion Entwickler-Vollversionen u.v.m.Jetzt zugreifen Tipp des Monats Oktober 2025 Matthias KozlowskiUmlaute konvertierenErsetzt die Umlaute in einer Zeichenkette durch die entsprechenden Doppelbuchstaben (aus ä wird ae, usw.) Neu! sevEingabe 3.0 
Einfach stark!
Ein einziges Eingabe-Control für alle benötigten Eingabetypen und -formate, inkl. Kalender-, Taschenrechner und Floskelfunktion, mehrspaltige ComboBox mit DB-Anbindung, ImageComboBox u.v.m. Weitere Infos
|
|
|
Copyright ©2000-2025 vb@rchiv Dieter Otter Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.
Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel
|
|