NetworkChange.NetworkAddressChanged 事件

定義

當網路介面的 IP 位址變更時發生。

public:
 static event System::Net::NetworkInformation::NetworkAddressChangedEventHandler ^ NetworkAddressChanged;
public static event System.Net.NetworkInformation.NetworkAddressChangedEventHandler NetworkAddressChanged;
public static event System.Net.NetworkInformation.NetworkAddressChangedEventHandler? NetworkAddressChanged;
[System.Runtime.Versioning.UnsupportedOSPlatform("illumos")]
[System.Runtime.Versioning.UnsupportedOSPlatform("solaris")]
public static event System.Net.NetworkInformation.NetworkAddressChangedEventHandler? NetworkAddressChanged;
member this.NetworkAddressChanged : System.Net.NetworkInformation.NetworkAddressChangedEventHandler 
[<System.Runtime.Versioning.UnsupportedOSPlatform("illumos")>]
[<System.Runtime.Versioning.UnsupportedOSPlatform("solaris")>]
member this.NetworkAddressChanged : System.Net.NetworkInformation.NetworkAddressChangedEventHandler 
Public Shared Custom Event NetworkAddressChanged As NetworkAddressChangedEventHandler 

事件類型

屬性

範例

下列程式碼範例會接聽位址變更,並在事件發生時 NetworkAddressChanged 顯示網路介面的狀態。

#using <System.dll>

using namespace System;
using namespace System::Net;
using namespace System::Net::NetworkInformation;
void AddressChangedCallback( Object^ /*sender*/, EventArgs^ /*e*/ )
{
   array<NetworkInterface^>^adapters = NetworkInterface::GetAllNetworkInterfaces();
   System::Collections::IEnumerator^ myEnum = adapters->GetEnumerator();
   while ( myEnum->MoveNext() )
   {
      NetworkInterface^ n = safe_cast<NetworkInterface^>(myEnum->Current);
      Console::WriteLine( "   {0} is {1}", n->Name, n->OperationalStatus );
   }
}

int main()
{
   NetworkChange::NetworkAddressChanged += gcnew NetworkAddressChangedEventHandler( AddressChangedCallback );
   Console::WriteLine( "Listening for address changes. Press any key to exit." );
   Console::ReadLine();
}
using System;
using System.Net;
using System.Net.NetworkInformation;

namespace Examples.Net.AddressChanges
{
    public class NetworkingExample
    {
        public static void Main()
        {
            NetworkChange.NetworkAddressChanged += new
            NetworkAddressChangedEventHandler(AddressChangedCallback);
            Console.WriteLine("Listening for address changes. Press any key to exit.");
            Console.ReadLine();
        }
        static void AddressChangedCallback(object sender, EventArgs e)
        {

            NetworkInterface[] adapters = NetworkInterface.GetAllNetworkInterfaces();
            foreach(NetworkInterface n in adapters)
            {
                Console.WriteLine("   {0} is {1}", n.Name, n.OperationalStatus);
            }
        }
    }
}
Imports System.Net
Imports System.Net.NetworkInformation

Public Class NetworkingExample
    Public Shared Sub Main()
        AddHandler NetworkChange.NetworkAddressChanged, AddressOf AddressChangedCallback
        Console.WriteLine("Listening for address changes. Press any key to exit.")
        Console.ReadLine()
    End Sub
    Private Shared Sub AddressChangedCallback(ByVal sender As Object, ByVal e As EventArgs)

        Dim adapters As NetworkInterface() = NetworkInterface.GetAllNetworkInterfaces()
        Dim n As NetworkInterface
        For Each n In adapters
            Console.WriteLine("   {0} is {1}", n.Name, n.OperationalStatus)
        Next n
    End Sub
End Class

備註

類別 NetworkChange 會在 NetworkAddressChanged 網路介面的位址變更時引發事件,也稱為網路介面卡或介面卡。

若要讓 NetworkChange 物件在事件發生時 NetworkAddressChanged 呼叫事件處理方法,您必須將方法與 NetworkAddressChangedEventHandler 委派產生關聯,並將此委派新增至此事件。

適用於