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 サイト |
使用可 |
アクセス許可
アクセス許可は不要です。