... C#でホットスポットを作成することは可能ですか?マウスが特定の領域を超えたときにイベントが発生するようにしますか? 、他のコントロールの上にあなたが望む位置に入れ、その上にMouseMove
を扱うC#でホットスポットを作成する
答えて
標準Fromオブジェクトは、OnMouseMoveイベントを公開します。
protected override void OnMouseMove(MouseEventArgs mouseEvent) { string X = mouseEvent.X.ToString(); string Y = mouseEvent.Y.ToString(); //Add code here to match X & Y to your hot spot coordinates. }
は透明Panel
(here's how - - その拡張ウィンドウスタイルにWS_EX_TRANSPARENTビットを設定することで、真に透明)を作成します。
WinFormsには本当に透明なパネルはありません。あなたが記述したようにパネルを作成し、それを他のコントロール/他のパネルと重複させると、パネルの背後にあるコントロールではなくフォームの背景が実際に表示されます。 –
@エリック、私の答えをもう一度、注意深く読んでください - 特に "本当に透明な"とWS_EX_TRANSPARENTについての少し。その後、答えのリンクをたどってそれを読んでください。私は特に 'Background'を' Transparent'に設定することについて話しているわけではありません。 –
ホットスポットにするコントロールのMouseHoverイベントハンドラを追加します。
ありがとうございますが、私はホットスポットを望む場所にコントロールがありません。ホットスポットは、どこかのフォームの背景に... –
Sequ3Lさんのコメントを見る、あなたのフォームでそのイベントを処理することができます。 –
baeltazor:フォームもコントロールです。 –
は、WindowsメッセージをキャプチャするためにWndProcメソッドを使用することができ、またはあなたが取得するためにGetCursorPosを使用することができます:あなたはちょうどそのイベントの座標を扱うことができ、ホットスポットがなる任意のコントロールを持っていないことを考えます画面上のカーソル位置。
これはちょうど 'MouseMove'を扱うだけのものですか?なぜWin32 APIがここに含まれているのですか(この質問はC#/ WinFormsに関するものです)。 –
WinFormsには、この種の操作を「直接」サポートしていません。 パネルの最初の問題は、イベントをキャプチャするための非長方形領域を持つことができないことです。 2つ目の問題は、複数の「領域」が必要な場合、パネルの透明なパネルコントロールを追加しなければならないことがあり、フォームの乱雑さが増すことです。また、透明であっても、別のコントロールがある場合、イベントの受信をサポートしないコントロールもあります。 –
軽いことをしたい場合は、Win32 APIの使用を検討してください。 –
- 1. イメージのホットスポットを作成する方法
- 2. ホットスポットを作成するためのPHPとBash
- 3. ホットスポットの作成時にホットスポットの名前が更新されない
- 4. Windows XP PCとWi-FiアダプタなしでWi-Fiホットスポットを作成する方法
- 5. Google datastore - ホットスポットを持たない日付作成フィールドのインデックス
- 6. プログラムでWiFiホットスポットをオン/オフにする
- 7. メールでDreamweaverのホットスポットを使用する
- 8. Wi-Fiホットスポットを作成するアプリでエラーを見つける方法を教えてください。
- 9. 小さなファイルがGoogleファイルシステムでホットスポットを作成するのはなぜですか?
- 10. 他のデバイスで作成されたWiFiホットスポットへのAndroidデバイスの接続
- 11. JRockitミッションコントロール4.1はSUNホットスポット(ホットスポット)JVMをサポートしていますか?
- 12. XcodeのUIImageViewでクリックしてイベントを発生させる "ホットスポット"を作成する方法
- 13. セットアップを作成するC#
- 14. C#カスタムオートコンプリートテキストボックスを作成する
- 15. C#ショートカットエラーを作成する
- 16. ズームマップを作成するC#
- 17. C#ファクトリを作成する
- 18. ハフマンコーディングツリーを作成するC++
- 19. メモリアロケーションのホットスポットのために私のレールアプリのプロファイルを作成し、ホットスポットからコードにコールトールをバックアップする方法を教えてください。
- 20. objective-cでベクトルクラスを作成する
- 21. IManage desksiteでフォルダを作成するC#
- 22. Cでストップウォッチを作成するには?
- 23. cでグリッドを作成する
- 24. C#でOCXコントロールを作成する
- 25. Cで複合インデックスを作成する
- 26. C#でゲームエンジンを作成する方法
- 27. C++ビジュアルスタジオでプロットグラフを作成する
- 28. C#でフォントコンボボックスを作成するには?
- 29. C#でグリッドテーブルを作成するには?
- 30. C++でJavascript Regexを作成する
これは理論上は問題ありませんが、通常はホットスポットをいくつかのコントロールと重複させたいと考えています。そして、そのようなコントロールのために 'MouseMove'を扱わなければならず、それに応じてマウス座標を変換しなければなりません。 WPFとは異なり、WinFormsでマウスイベントをプレビューする方法はありません。 –
ありがとうございました。 –