Поделиться через


NetworkAddressChangedEventHandler Delegate

Microsoft Silverlight will reach end of support after October 2021. Learn more.

References one or more methods to be called when the address of a network interface changes.

Namespace:  System.Net.NetworkInformation
Assembly:  System.Net (in System.Net.dll)

Syntax

'Declaration
Public Delegate Sub NetworkAddressChangedEventHandler ( _
    sender As Object, _
    e As EventArgs _
)
public delegate void NetworkAddressChangedEventHandler(
    Object sender,
    EventArgs e
)

Parameters

Remarks

This delegate handles NetworkAddressChanged events raised by the NetworkChange class. For detailed information on receiving notification for network interface address change events, see the NetworkChange class overview documentation

The sender parameter passed to this event handler is always nulla null reference (Nothing in Visual Basic). The EventArgs object in the e parameter passed to this event handler is always empty. These parameters are not needed, since an application receiving this event can call the GetIsNetworkAvailable static method to determine network availability.

Examples

The following example uses a NetworkAddressChangedEventHandler to handle NetworkAddressChanged events and detect when network availability changes.

Public class Example

    Dim Shared online As Boolean = False

    Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
        ' Initialize the online variable and set a NetworkChange handler
        SetupNetworkChange()

        outputBlock.Text &= "Network is: "
        If online Then
            outputBlock.Text &= "online"
        Else   
            outputBlock.Text &= "offline"
        End If    

        ' Now start the main work of the application        
    End Sub

    ' Subroutine that gets called when the network changes 
    Private Shared Sub OnNetworkChange (ByVal sender As object, _
       ByVale AS EventArgs)

       If NetworkInterface.GetIsNetworkAvailable() Then
           If Not online Then
              online = True
              ' do what is needed to GoOnline()
           End If
       Else 
           If online Then
               online = False
               ' do what is needed to GoOffline()
           End If
       End If
    End Sub

    Private Shared Sub SetupNetworkChange()
        ' Get current network availalable and store the 
        ' initial value for online value
        If NetworkInterface.GetIsNetworkAvailable() Then
            online = true
            ' do what is needed to GoOnline()
        Else    
            online = false
            ' do what is needed to GoOffline()
        End If    

        ' Now add a network change event handler to indicate
        ' network availability 
        AddHandler NetworkChange.NetworkAddressChanged , _
            AddressOf OnNetworkChange
    End Sub

End Class  
public class Example
{
  static bool online = false; 

  public static void Demo(System.Windows.Controls.TextBlock outputBlock)
  {

      // Initialize the online variable and set a NetworkChange handler
      SetupNetworkChange();

      outputBlock.Text += "Network is: ";
      if (online)
          outputBlock.Text += "online";
      else     
          outputBlock.Text += "offline";

      // Now start the main work of the application        
  }

  // method that gets called when the network changes
  static void OnNetworkChange(object sender, EventArgs e)
  {
     if (NetworkInterface.GetIsNetworkAvailable())
     {
         if (!online)
          {
             online = true;
             // do what is needed to GoOnline();
          }
     }
     else {
         if (online)
         {
             online = false;
             // do what is needed to GoOffline();
         }
     }
  }

  private static void SetupNetworkChange()
  {
     // Get current network availalability and store the 
     // initial value of the online variable
     if (NetworkInterface.GetIsNetworkAvailable())
     {
         online = true;
         // do what is needed to GoOnline();
     }
     else
     {
         online = false;
         // do what is needed to GoOffline();
     }

      // Now add a network change event handler to indicate
      // network availability 
      NetworkChange.NetworkAddressChanged +=
          new NetworkAddressChangedEventHandler(OnNetworkChange);
  }
}

Version Information

Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Windows Phone OS 7.0

Platforms

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.