- PR -

Windowsフォームでのダブルクリックイベントについて

1
投稿者投稿内容
ジェネシティ
会議室デビュー日: 2003/10/04
投稿数: 2
投稿日時: 2004-04-21 15:04
Windowsフォームで、LabelコントロールにClickイベントとDoubleClickイベントを設定し、それぞれ別の処理を割り当てています。

このLabelをダブルクリックすると、ClickイベントとDoubleClickイベントの両方が発生するのですが、これを回避する方法(クリック時はClickイベントのみ、ダブルクリック時はDoubleClickイベントのみ発生)、あるいは、ClickかDoubleClickかをうまく判別する方法があれば、教えていただければと思います。

よろしくお願いします。
おさるさん
常連さん
会議室デビュー日: 2004/01/05
投稿数: 24
投稿日時: 2004-04-21 15:35
一般的には、Windowsの作法として、ダブルクリックイベントを定義する時は、

1.Click--->オブジェクトの選択--->選択された時の動作(ハイライトなど)

2.DblClick--->目的の動作

シングルとダブルに固執されると駄目だけれど
click と click+shift_key_press等の併用では如何ですか?
一郎
ぬし
会議室デビュー日: 2002/10/11
投稿数: 1081
投稿日時: 2004-04-21 15:36
Windowsでは、「ClickかDoubleClickか」という考え自体が自然な考えではありません。
ダブルクリックの一回目のクリックが通常のクリックをしたことになるというのはWindowsの仕様ですので、一番良いのは「ダブルクリックの時はクリックが起きなかったことにする」という仕様を見直すことだと思います。
例えば、ダブルクリックに割り当てようとしている機能を右リックに割り当てるとか。

現存するWindowsのプログラムを見ても、「ダブルクリックの時はクリックが起きなかったことに」しているプログラムというのは見ませんよね。

どうしてもやりたいなら、タイマーで一定時間待って、ダブルクリックが起きなかったらクリックの機能を動かすというのはどうです。
1

スキルアップ/キャリアアップ(JOB@IT)