📄 form1.vb
字号:
Imports System.Threading
Imports System.ComponentModel
Public Class Form1
Private hQuit As EventWaitHandle
Private Sub Form1_Load(ByVal sender As Object, ByVal e As EventArgs) Handles Me.Load
Me.hQuit = New EventWaitHandle(False, EventResetMode.AutoReset, Nothing)
Notify.RegisterNamedEvent(NotificationEvent.NetConnect, "NetConnected")
Notify.RegisterNamedEvent(NotificationEvent.NetDisconnect, "NetDisconnected")
Dim eventThread As New Thread(New ThreadStart(AddressOf Me.EventThread))
eventThread.IsBackground = True
eventThread.Start()
End Sub
Private Sub Form1_Closing(ByVal sender As Object, ByVal e As CancelEventArgs) Handles Me.Closing
Notify.UnregisterNamedEvent("NetConnected")
Notify.UnregisterNamedEvent("NetDisconnected")
Me.hQuit.Set()
End Sub
Private Sub Connected(ByVal sender As Object, ByVal e As EventArgs)
Me.BackColor = Color.Green
End Sub
Private Sub Disconnected(ByVal sender As Object, ByVal e As EventArgs)
Me.BackColor = Color.Red
End Sub
Private Sub EventThread()
Dim hConnected As New EventWaitHandle(False, EventResetMode.AutoReset, "NetConnected")
Dim hDisconnected As New EventWaitHandle(False, EventResetMode.AutoReset, "NetDisconnected")
While (True)
Select Case EventWaitHandle.WaitAny(New WaitHandle() {Me.hQuit, hConnected, hDisconnected})
Case 0
hConnected.Close()
hDisconnected.Close()
Me.hQuit.Close()
Return
Case 1
MyBase.Invoke(New EventHandler(AddressOf Me.Connected))
Case 2
MyBase.Invoke(New EventHandler(AddressOf Me.Disconnected))
End Select
End While
End Sub
End Class
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -