私が参照している右クリック イベントを確認するには、このビデオを参照してください。
Windows フォーム アプリケーションにズーム ボタンを追加するアプリケーションに取り組んでいます。ユーザーがボタンに触れると、アプリケーションはウィンドウを継続的にズームする必要があります。これは、ボタンのマウス ダウン イベントを監視することで機能します。マウスが押されている間、タイマーはビューを拡大し続けます。これは、最初のタッチ後にユーザーの指がスライドする限り、正常に機能します。ただし、ユーザーがずっと 1 つの場所を押し続けると、小さな待機円が表示されてから、右クリック イベントが発生します。
このリンクからアプリケーションにコードを追加しました。
public bool PreFilterMessage(ref Message m)
{
// Filter out WM_NCRBUTTONDOWN/UP/DBLCLK
if (m.Msg == 0xA4 || m.Msg == 0xA5 || m.Msg == 0xA6) return true;
// Filter out WM_RBUTTONDOWN/UP/DBLCLK
if (m.Msg == 0x204 || m.Msg == 0x205 || m.Msg == 0x206) return true;
return false;
}
このコードは、結果の右クリック イベントを無効にします。ただし、円は引き続き発生し、マウスダウン イベントは発生しません。物理的なタッチをマウスダウンとしてカウントし、右クリックプロセスを開始しない方法はありますか?
編集Control Panel
-> Pen and Touch
に移動して、右クリック機能のプレスアンドホールドを無効にしようとしました。これにより、スピン アイコンが無効になりましたが、ユーザーが指を少し動かさない限り、マウス ダウンは発生しません。ユーザーがボタンを押したままにしなければならない理由がわかりません。