My.Computer.Network.NetworkAvailabilityChanged イベント

更新 : 2007 年 11 月

ネットワークの可用性に変化があったときに発生します。

' Usage
Public Sub MyComputerNetwork_NetworkAvailabilityChanged( _
   ByVal sender As Object, _
   ByVal e As Devices.NetworkAvailableEventArgs _
)
End Sub
Sub Handle_NetworkAvailabilityChanged()
   AddHandler My.Computer.Network.NetworkAvailabilityChanged, _
      AddressOf MyComputerNetwork_NetworkAvailabilityChanged
End Sub
' Declaration
Public Event NetworkAvailabilityChanged( _
   ByVal sender As Object, _
   ByVal e As Devices.NetworkAvailableEventArgs _
)

パラメータ

  • sender
    必ず指定します。イベントの発生元の Object を指定します。

  • e
    必ず指定します。ネットワークの可用性に関する情報が格納される NetworkAvailableEventArgs オブジェクトを指定します。

解説

アプリケーションでは、ネットワークの可用性が変化するたびに NetworkAvailabilityChanged イベントが生成されます。e パラメータの IsNetworkAvailable プロパティを使って、ネットワーク接続の新しい状態を取得できます。ネットワーク接続の現在の状態を取得するには、My.Computer.Network.IsAvailable プロパティ を使用します。

Windows フォーム アプリケーションでは、このイベントはアプリケーションのメイン スレッド上に他のユーザー インターフェイス イベントと共に発生します。そのため、イベント ハンドラはアプリケーションのユーザー インターフェイスに直接アクセスできます。ただし、アプリケーションが他のユーザー インターフェイス イベントを処理している最中にこのイベントが発生した場合は、他のイベント ハンドラが完了するまで、または My.Application.DoEvents メソッドが呼び出されるまでは、このイベントは処理されません。

NetworkAvailabilityChanged イベントの処理には Handles ステートメントを使用できません。AddHandler ステートメントを使用する必要があります。

Windows フォーム アプリケーションでは、このイベントと同じ機能を持つ NetworkAvailabilityChanged イベントが My.Application オブジェクトから公開されますが、このイベントは Handles ステートメントで処理できます。詳細については、「My.Application.NetworkAvailabilityChanged イベント」を参照してください。

メモ :

多くのネットワーク ハブは、規模の大きな方のネットワークから切断された場合でも、ネットワーク接続を提供します。したがって、回線がつながっている状態では、このイベントはコンピュータとハブを結ぶ接続に変化があったことを意味します。

メモ :

NetworkAvailabilityChanged イベントは、Windows 95 または Windows 98 で実行されるアプリケーションまたは管理者ではないユーザーによって Windows 2000 で実行されるアプリケーションでは発生しません。これらのプラットフォームでアプリケーションを実行する場合は、My.Computer.Network.IsAvailable プロパティ を使ってネットワークの可用性をチェックしてください。

使用例

次のコード例は、My.Computer.Network.NetworkAvailabilityChanged イベントを使ってフォームまたはコントロールのユーザー インターフェイスを更新しています。

Private Sub DisplayAvailability(ByVal available As Boolean)
    Label1.Text = available.ToString
End Sub

Private Sub MyComputerNetwork_NetworkAvailabilityChanged( _
    ByVal sender As Object, _
    ByVal e As Devices.NetworkAvailableEventArgs)

    DisplayAvailability(e.IsNetworkAvailable)
End Sub

Private Sub Handle_NetworkAvailabilityChanged()
    AddHandler My.Computer.Network.NetworkAvailabilityChanged, _
       AddressOf MyComputerNetwork_NetworkAvailabilityChanged
    DisplayAvailability(My.Computer.Network.IsAvailable)
End Sub

このコードでは、フォームまたはコントロールに Label1 という名前の Label があることを前提としています。Handle_NetworkAvailabilityChanged メソッドを呼び出して、ラベルを初期化し、イベント ハンドラをフックする必要があります。

必要条件

名前空間 : Microsoft.VisualBasic.Devices

クラス : Network

アセンブリ : Visual Basic ランタイム ライブラリ (Microsoft.VisualBasic.dll)

プロジェクトの種類別の可用性

プロジェクトの種類

使用可/不可

Windows アプリケーション

使用可

クラス ライブラリ

使用可

コンソール アプリケーション

使用可

Windows コントロール ライブラリ

使用可

Web コントロール ライブラリ

使用可

Windows サービス

使用可

Web サイト

使用可

アクセス許可

アクセス許可は不要です。

参照

参照

My.Computer.Network オブジェクト

My.Application.NetworkAvailabilityChanged イベント

Microsoft.VisualBasic.Devices.NetworkAvailableEventArgs