DOBON.NET DOBON.NETプログラミング掲示板過去ログ

C#でコントロール外のマウスイベントを取得するには?

環境/言語:[C#]
分類:[.NET]

お世話になっております。

コントロールの外でマウスをクリックすると、コントロールを
非表示にするようなことを考えているのですが、

コントロールの外で発生したマウスイベントを取得する方法を
ご存知の方、ご教授頂けないでしょうか?

APIでいうところのSetCaptureのようなものはないのでしょうか・・・
じゃんぬねっと です。

■No8844に返信(jadeさんの記事)
> コントロールの外でマウスをクリックすると、コントロールを
> 非表示にするようなことを考えているのですが、
> コントロールの外で発生したマウスイベントを取得する方法を
> ご存知の方、ご教授頂けないでしょうか?

「コントロールの外」の定義が今ひとつ不明です。
コントロールの外というと、そのコントロールでないところ、つまりフォームなども含まれます。

# まあ、フォームもコントロールと言えばコントロールですが...

もしかして、外部アプリケーションなどのことでしょうか?
> APIでいうところのSetCaptureのようなものはないのでしょうか・・・

 Control.Capture プロパティが相当するようです。
#それで要件が満たせるかどうかは存じませんが。

Microsoft Win32 と Microsoft .NET Framework API との対応
マウス入力関数
http://www.microsoft.com/japan/msdn/net/general/win32map.asp#win32map_mouseinputfunctions
じゃんぬねっと様、深山様

Control.Capture プロパティで実現できそうです。

ちなみに、「コントロールの外」の定義ですが、
当該コントロール以外の全てを指していました
(親フォーム、ディスクトップ、外部アプリケーション等)

#言葉足らずで申し訳ありませんでした。


ありがとうございました!
解決済み!

DOBON.NET | プログラミング道 | プログラミング掲示板