My.Application.NetworkAvailabilityChanged Event

Occurs when the network availability changes.

' Usage
Public Sub Me_NetworkAvailabilityChanged( _
   ByVal sender As Object, _
   ByVal e As NetworkAvailableEventArgs _
) Handles Me.NetworkAvailabilityChanged
End Sub
' Declaration
Public Event NetworkAvailabilityChanged( _
   ByVal sender As Object, _
   ByVal e As NetworkAvailableEventArgs _


Required. The Object that raised the event.


Required. A NetworkAvailableEventArgs object that contains information about the availability of the network.

An application raises the NetworkAvailabilityChanged event every time the availability of the network changes. You can use the IsNetworkAvailable property of the e parameter to get the new state of the network connection. To get the current state of the network connection, use the My.Computer.Network.IsAvailable Property.

This event is raised on the application's main thread with the other user-interface events. This allows the event handler to access directly the application's UI. However, if the application is busy handling another user-interface event when this event is raised, this event cannot be processed until the other event handler finishes or calls the My.Application.DoEvents Method.

The My.Computer.Network.NetworkAvailabilityChanged Event provides the same functionality as this event but is available for all application types.

The code for the NetworkAvailabilityChanged event handler is stored in the ApplicationEvents.vb file, which is hidden by default.

To access the Code Editor window for application events

  1. Have a project selected in Solution Explorer. Click Properties on the Project menu.

  2. Click the Application tab.

  3. Click the View Application Events button to open the Code Editor.

    For more information, see How to: Handle Application Events (Visual Basic).


Many network hubs will provide a network connection even if the hub is disconnected from a larger network. Consequently, for wired connections, this event indicates change in the connection between the computer and a hub.


The NetworkAvailabilityChanged event is not raised by applications when run on Windows 95 and Windows 98, or when run by a non-administrator on Windows 2000. If your application might run on those platforms, use the My.Computer.Network.IsAvailable Property to check for network availability.

This example calls the SetConnectionStatus method of the default Form1 class when the network availability changes.

You must enter the code in the Code Editor window for application events. To access this window, follow the instructions from this topic's Remarks section.

Private Sub MyApplication_NetworkAvailabilityChanged( _
    ByVal sender As Object, _
    ByVal e As Microsoft.VisualBasic.Devices.NetworkAvailableEventArgs _
) Handles Me.NetworkAvailabilityChanged
End Sub

The project should have a form named Form1. It should have a method named SetConnectionStatus that takes a Boolean parameter.

Namespace: Microsoft.VisualBasic.ApplicationServices

Class: WindowsFormsApplicationBase

Assembly: Visual Basic Runtime Library (in Microsoft.VisualBasic.dll)

Availability by Project Type

Project type


Windows Application


Class Library


Console Application


Windows Control Library


Web Control Library


Windows Service


Web Site


No permissions are required.

Community Additions