This documentation is archived and is not being maintained.

WindowsFormsApplicationBase.NetworkAvailabilityChanged Event

Occurs when the network availability changes.

Namespace:  Microsoft.VisualBasic.ApplicationServices
Assembly:  Microsoft.VisualBasic (in Microsoft.VisualBasic.dll)

public event NetworkAvailableEventHandler NetworkAvailabilityChanged

For more detailed information, see the Visual Basic topic My.Application.NetworkAvailabilityChanged Event.

An application raises the NetworkAvailabilityChanged event every time that 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 enables 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 they are run on Windows 95 and Windows 98, or when they are run by a non-administrator on Windows 2000. If your application might run on those operating systems, 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.

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

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

Windows 7, Windows Vista, Windows XP SP2, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP Starter Edition, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003, Windows Server 2000 SP4, Windows Millennium Edition, Windows 98

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0, 2.0