NetworkAddressChangedEventHandler Delegate
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
References one or more methods to be called when the address of a network interface changes.
Assembly: System.Net (in System.Net.dll)
Parameters
- sender
- Type: System.Object
The source of the event.
- e
- Type: System.EventArgs
An EventArgs object that contains data about the event.
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 null. 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.
The following example uses a NetworkAddressChangedEventHandler to handle NetworkAddressChanged events and detect when network availability changes.
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); } }