C# と VB.NET の質問掲示板

わんくま同盟

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト


(過去ログ 164 を表示中)
■94665 / )  Re[1]: ClickとDoubleClickを判別したい
□投稿者/ とっちゃん (682回)-(2020/04/30(Thu) 11:05:10)
No94664 (お米粒 さん) に返信
> WindowsForm上に配置した1つのコントロールにClickイベントとDoubleClickイベント両方を書いて、
> DoubleClick時にはClickイベントを走らせないということはできるのでしょうか
> ちなみに、DoubleClickを右クリックとかCtrl+Clickにする方向は最終手段だと考えています。
>
ダブルクリックは、クリックの後、一定時間内にもう一度クリックすると発生します。
WindowsForms でどうなってるか確認したことはないですが、Windowsの仕組みそのままだとすると
ダブルクリックすると、Clickイベントの後一定時間内にDoubleClick イベントが送られてくると思います。

なので、Click イベントではダブルクリック時間でFormsのタイマーを発動し、ダブルクリックが来たら
タイマーをキャンセルして、ダブルクリックイベントを実行、タイマー通知が来たら
本来のクリックイベント処理を実行という形で作るのが一般的です。

ダブルクリックの時間は System.Windows.Forms.SystemInformation.DoubleClickTime で取得できます。

https://docs.microsoft.com/ja-jp/dotnet/api/system.windows.forms.systeminformation.doubleclicktime?view=netcore-3.1

返信 編集キー/


管理者用

- Child Tree -