この記事は翻訳者によって翻訳されたものです。 記事の文章にポインターを重ねると、原文のテキストが表示されます。 |
訳文
原文
|
Control.MouseCaptureChanged イベント
更新 : 2010 年 9 月
コントロールがマウスのキャプチャを失うと発生します。
アセンブリ: System.Windows.Forms (System.Windows.Forms.dll 内)
まれなシナリオで、予期しない入力を検出することが必要になる場合があります。 たとえば、次のような方法もあります。
-
マウスを操作中に、ユーザーは、Windows キーまたは Ctrl キーを押しながら Esc キーを押して [スタート] メニューを開きます。
-
マウスを操作中に、ユーザーは Alt キーを押しながら Tab キーを押して別のプログラムに切り替えます。
-
マウスを操作中に、別のプログラムによって、現在のアプリケーションからフォーカスを受け取るウィンドウまたはメッセージ ボックスが表示されます。
マウス操作には、フォームまたはコントロール上でマウスをクリックしたまま保持する操作や、マウスのドラッグ操作を含めることができます。 これらおよび関連する予期しないシナリオに関してフォームまたはコントロールがいつマウス キャプチャを失ったかを検出する必要がある場合は、MouseCaptureChanged イベントを使用できます。
次のコード例では、Button コントロールの MouseCaptureChanged イベントをデモンストレーションします。
private void button1_MouseDown(object sender, MouseEventArgs e) { System.Diagnostics.Debug.WriteLine("button1_MouseDown"); } private void button1_MouseUp(object sender, MouseEventArgs e) { System.Diagnostics.Debug.WriteLine("button1_MouseUp"); } private void button1_MouseCaptureChanged(object sender, EventArgs e) { System.Diagnostics.Debug.WriteLine("button1_MouseCaptureChanged"); }
この例をテストするには、F5 キーを押してデバッガーで実行します。 イベントが発生したときにそれらを確認できるよう、Visual Studio の [出力] ウィンドウを開きます。 Button をクリックし、次の出力に注目します。
button1_MouseDown
button1_MouseUp
button1_MouseCaptureChanged
次に、Button コントロール上でマウスの左ボタンを押したままにします。 マウスをクリックしたまま、Alt キーを押しながら Tab キーを押して、別のプログラムに切り替えます。 MouseCaptureChangedイベントが発生します。これにより、必要に応じてこのシナリオを処理できます。 アクションによっては、MouseUp イベントが発生しない可能性があります。 このテストは、Windows キーを押して、または Ctrl キー を押しながら Esc キーを押して行うこともできます。
button1_MouseDown
button1_MouseCaptureChanged
Windows 7, Windows Vista SP1 以降, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core はサポート対象外), Windows Server 2008 R2 (SP1 以降で Server Core をサポート), Windows Server 2003 SP2
.NET Framework では、各プラットフォームのすべてのバージョンはサポートしていません。 サポートされているバージョンについては、「.NET Framework システム要件」を参照してください。