問題タブ [mousecapture]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
2752 参照

c# - ポップアップ内のdatagridがマウスをキャプチャしたときに、wpfポップアップが自動的に閉じない

ポップアップがStaysOpen=Falseあるので、ポップアップの外側をクリックして閉じたいと思います。ポップアップの中にはがありDataGridます。ポップアップを開いてから別の場所をクリックすると、ポップアップが閉じます。ただし、ポップアップの外側をクリックする前に、の列ヘッダーをクリックすると、発生しませんDataGrid。XAMLのテスト:

これは、列ヘッダーがクリック時にマウスをキャプチャし、ポップアップがマウスイベントを受信しなくなったために発生したと思います。ポップアップでマウスをキャプチャするために、イベントにハンドラーを追加しようとしましたLostMouseCaptureが、それほど簡単には機能しないようです。何か案は?

0 投票する
1 に答える
862 参照

wpf - wpf mousecapture は強制的にすぐに解放されます

フライアウト パネルを含むユーザー コントロールを作成しています。

ボタンをクリックしてパネルを開くと、ユーザーがフライアウトパネルをクリックして閉じることができるように、マウスをキャプチャしようとしています。

しかし、マウスをキャプチャした直後に、失われた mousecapture イベントが発生し、パネルの外側でクリックを検出できません。

ここで、まっすぐ開いて閉じるクリックを検出します

キャプチャ ロスト イベントに配線すると、フライアウトが開いた直後にヒットします。結果変数を確認すると、マウスのキャプチャ方法に関係なく、結果は true であるため、正しく機能しているように見えます。

何か案は?

0 投票する
1 に答える
440 参照

flash - マウス アウト時のフラッシュ リリース マウス キャプチャ

iframe に読み込まれた Flash アプリがあります。ユーザーがフラッシュでマウス ダウンし、ステージの外に出ます。ユーザーがステージの外に出たときに、マウス キャプチャをフラッシュから解放して、親がフラッシュ アプリではなくマウス イベントをさらに受け取るようにする方法はありますか?

Firefox と Chrome では、親はユーザーがマウスを離すまでイベントを受け取りません IE では、親はユーザーがステージの外に出るとイベントを受け取ります。

0 投票する
1 に答える
2283 参照

wpf - マウスがすでにキャプチャされているかどうかを確認する方法

CanvasとCanvas上のボタンを含むユーザーコントロールを作成しました。ボタンをキャンバス上で移動できるようにするために、以下に示すDragBehaviorをアタッチしました。

ビジネス上の理由から、キャンバスを押したままドラッグする場合も、キャンバスを移動する必要があります。同様のBehaviorクラスを使用して、Canvasの余白を変更し、ドラッグ時にマウスポインタと一緒に移動しているように見せました。この動作はマウスもキャプチャします。

ここで問題は-ボタンをクリックしてドラッグすると、CanvasもMouseイベントを取得し、ドラッグを開始します。ボタンをドラッグしているときに、キャンバスの動作でマウスイベントが発生しないようにするにはどうすればよいですか。

Behaviorsにe.Handled=trueを入れてみましたが、うまくいきませんでした。

マウスが他のオブジェクトによってすでにキャプチャされていることがわかった場合は、Behaviorに条件を設定して、再度キャプチャしないようにすることができます。

0 投票する
2 に答える
326 参照

silverlight - Silverlight RepeatButtonが押されたときにマウスをキャプチャするにはどうすればよいですか?

上ボタンとして機能するRepeatButtonオンがあります。UserControlコントロールは、ある種のナンバースピナーです。数値が9から10になると、マウスの下から上ボタンが移動するため、上ボタンが離されます。マウスをキャプチャできることは知っていますが、イベントRepeatButtonを提供していません。では、マウスが押されたときにマウスをキャプチャし、解放されたときにキャプチャを解放するにはMouseLeftButtonDownどうすればよいですか?RepeatButtonそして、RepeatButton私にMouseLeftButtonDownイベントを与えるべきですか?

編集:

テンプレートのコンテンツがボタンのMouseLeftButtonDownイベントを盗んでいるように見えます。とにかくボタンの内容を回避することはできますか?HitTestVisiblefalseに設定すると、ボタン自体がタッチできなくなります。OnPreviewSilverlightにオーバーライドがあればいいのにと思います。

0 投票する
1 に答える
213 参照

jquery - jQuery datetimepicker - 時刻の選択中にマウスがキャプチャされる

テキストボックスに DateTimePicker が添付されたページがあります。問題は、datetimepicker を開いて時間 (または分) スライダー ボタンをクリックすると、時間スライダー ボタンによってマウスがキャプチャされることです。コントロールの内側または外側でマウスをクリックしてもキャプチャが解除されません。コントロールはデモ Web サイトでは正常に動作しますが、自分のページで使用すると問題が発生します。何がこれを引き起こしているのでしょうか?JQuery 1.6.2-min を使用しています。両方のボタンをクリックすると、両方がマウスで動き始め、値がテキストボックスで変化し続けます。このキャプチャを解放する方法、または問題を特定する方法は?

ここで私が使用しているDateTimePickerへのリンク

私が使用しているコード:

0 投票する
2 に答える
1428 参照

wpf - WPF:CaptureMouseが失敗するのはなぜですか?

タブ コントロール内に複数のタブがある非常に複雑なビューがあります。1 つのタブには、装飾層を持つコントロールがあります。マウス入力をキャプチャするために、MouseLeftButtonDown イベント ハンドラーで CaptureMouse を呼び出す装飾層。すべて正常に動作します。

しかし、特定の順序でビューのタブを切り替えてから装飾層をクリックすると、マウス入力のキャプチャに失敗します: CaptureMouse() は false を返します。同時に Mouse.Captured は null を返します。装飾層をホストするコントロールは引き続き正常に動作し、マウスをキャプチャすることさえできます。

多くのカスタム コントロールが動作しているため、コードを提供できません。単純化されたレイアウトでは、すべてが正常に機能します。

CaptureMouse が失敗する理由を教えてください。

0 投票する
1 に答える
479 参照

c# - ToolStripDropDown が表示されたときにマウス メッセージをキャプチャする

カスタム コントロールを含む「ツールチップ」を作成しようとしています。必要なことを行うものを使用して実装しましたToolStripDropDown-ユーザーが別の場所をクリックしたり、別のウィンドウをアクティブにしたりすると閉じます。

MouseMoveただし、が表示されている場合でも、親コントロールでイベントを取得できるようにしたいと考えていToolStripDropDownます。Capture親コントロールのプロパティをさまざまな段階 (ドロップダウンを表示する前、イベント ハンドラーなど) で設定しようとしましたOpenedが、常にすぐに false に戻されます。親コントロールでイベントを取得する方法 (必ずしもCaptureプロパティを使用する必要はありません)はありますか? MouseMoveいいえ、タイマーを使用してマウスの位置を定期的にチェックするような醜いハックは考えたくありません。

0 投票する
2 に答える
236 参照

c# - マウスを速く動かしたときに、新しいフォームがマウスの移動位置にくっつかないのはなぜですか?

私はこのイベントを持っています:

そして、このイベント:

マウスを速く動かしただけでは、移動中のフォームへのフォーカスが失われ、マウスの動きだけがフォームに残ります。

しかし、マウスダウンボタンをクリックしてからマウスを動かすと、フォームがずっとフォーカスされます。

OnMouseDownだから私はイベントからイベントに2行をコピーしようとしましたOnMouseMove:

しかし、この 2 行を Move イベントに移動すると、何も起こりません。何をやってもフォームが動かない。

必要な場合、これは完全なフォーム コードです。

Form1 では、フォームの新しいインスタンスを作成するだけで、それを移動できます。マウスのキーを押していないときにマウスを速く動かすと、なぜフォーカスが失われるのでしょうか?

0 投票する
1 に答える
949 参照

wpf - Mouse.Capture が false を返し、失敗する

WPF でモーダル ダイアログをシミュレートするには、ウィンドウを表示して次のように呼び出します。Mouse.Capture(dialogBoxArea, CaptureMode.SubTree);

呼び出しが返されますfalse

Mouse.CapturedですnulldialogBoxArea.VisibilityですVisibility.VisibledialogBoxArea.IsEnabledですtrue

行がもう一度呼び出されると、戻りtrue、マウスを正しくキャプチャします。

キャプチャが機能しない原因として、どのような条件が欠けている可能性がありますか?

編集

これが私がこれまでに試したことです。