これを検出する方法はありますか?
あなたが何かをしているアプリケーションがあり、マウスが動かされるまでリッスンして待機しているBackgroundthreadがあると想像してください-(どこまででも):
Left
Right
Left
Right
Left
Right
Left
Right
Left
Right
トリガーを起動するか、特定のメソッドを呼び出します。
何か案は?
提供された質問の観点から、これに別のスレッドを使用することはありません。MouseMove
それが何であれ、イベントをリッスンし、マウスの移動方向を検出します。
これは、イベント ハンドラー自体によって受信されたコーディネイトを減算することで実行できます。
ここでのことは、検出アルゴリズムで使用する許容範囲の決定になります。
より明確にするために:
値の差がX
(たとえば)より大きい場合は右1
に移動するとカウントし、より小さい場合は左に移動するようにカウントします。-1
このようなもの。
マウスポインタの現在位置を取得します。新しい場所に移動します。新しい位置の X 座標が前の位置の X 座標より小さい場合は、マウスが左に移動したことを意味します。右に移動する場合も同様です。新しい位置がベース位置になるたびに。カウンターを保持でき、カウントが 5 の場合は、好きなことを実行できます。
ウィンドウに関連付けられた MouseMove イベントを使用します。起動するたびにマウスの位置を保存し、現在の位置を最後の位置と比較して、左に移動したか、右に移動したか、またはすべてではなく (つまり、上または下に) 移動したかを判断します。