My.Application.NetworkAvailabilityChanged イベント

更新 : 2007 年 11 月

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

' Usage
Public Sub Me_NetworkAvailabilityChanged( _
   ByVal sender As Object, _
   ByVal e As NetworkAvailableEventArgs _
) Handles Me.NetworkAvailabilityChanged
End Sub
' Declaration
Public Event NetworkAvailabilityChanged( _
   ByVal sender As Object, _
   ByVal e As NetworkAvailableEventArgs _
)

パラメータ

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

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

解説

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

このイベントは、アプリケーションのメイン スレッドで他のユーザー インターフェイス イベントと一緒に発生します。このため、イベント ハンドラはアプリケーションの UI に直接アクセスできます。ただし、このイベントが発生したとき、アプリケーションが別のユーザー インターフェイス イベントの処理でビジーになっている場合は、そのイベント ハンドラが終了するか、または My.Application.DoEvents メソッド を呼び出すまで、このイベントを処理できません。

My.Computer.Network.NetworkAvailabilityChanged イベント はこのイベントと同じ機能を持ちますが、すべての種類のアプリケーションで使用できます。

NetworkAvailabilityChanged イベント ハンドラ用のコードは、ApplicationEvents.vb ファイルに格納されています。このファイルは既定では非表示です。

アプリケーション イベントのコード エディタ ウィンドウにアクセスするには、次の操作を行います。

  1. ソリューション エクスプローラでプロジェクトを選択します。[プロジェクト] メニューの [プロパティ] をクリックします。

  2. [アプリケーション] タブをクリックします。

  3. [アプリケーション イベントの表示] をクリックしてコード エディタを開きます。

    詳細については、「方法 : アプリケーション イベントを処理する (Visual Basic)」を参照してください。

メモ :

多くのネットワーク ハブが、広域ネットワークからハブが切断された場合でもネットワーク接続を提供します。そのため、回線がつながっている場合、このイベントはコンピュータとハブの間で接続に変化があったことを示します。

メモ :

NetworkAvailabilityChanged イベントは、Windows 95 や Windows 98 で動作しているアプリケーションや、Windows 2000 で管理者以外によって実行されたアプリケーションでは発生しません。このようなプラットフォームでアプリケーションを実行する可能性がある場合は、My.Computer.Network.IsAvailable プロパティ を使用してネットワークが使用可能かどうかを調べてください。

使用例

次の例は、ネットワークの可用性が変化したときに、既定の Form1 クラスの SetConnectionStatus メソッドを呼び出します。

アプリケーション イベントのコードを、コード エディタ ウィンドウに入力する必要があります。このウィンドウを利用するには、このトピックの「解説」にある説明に従ってください。

Private Sub MyApplication_NetworkAvailabilityChanged( _
    ByVal sender As Object, _
    ByVal e As Microsoft.VisualBasic.Devices.NetworkAvailableEventArgs _
) Handles Me.NetworkAvailabilityChanged
    My.Forms.Form1.SetConnectionStatus(e.IsNetworkAvailable)
End Sub

コードのコンパイル

プロジェクトに Form1 という名前のフォームが必要です。そのフォームは、Boolean 型のパラメータを受け取る SetConnectionStatus という名前のメソッドを含む必要があります。

必要条件

名前空間 : Microsoft.VisualBasic.ApplicationServices

クラス : WindowsFormsApplicationBase

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

使用可能なプロジェクトの種類

プロジェクトの種類

使用可/不可

Windows アプリケーション

クラス ライブラリ

不可

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

不可

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

不可

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

不可

Windows サービス

不可

Web サイト

不可

アクセス許可

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

参照

参照

My.Application オブジェクト

My.Forms オブジェクト

My.Computer.Network.NetworkAvailabilityChanged イベント

Microsoft.VisualBasic.Devices.NetworkAvailableEventArgs