Javaと情熱のあいだ

カステラとドーナツと珈琲

DoubleClickイベントとMouseDoubleClickイベントについてのメモ

.netのコントロールに有るDoubleClickイベントとMouseDoubleClickイベントは似たようなイベントなので混同してしまう。
MSDNに有る説明ではそれぞれ下記のような説明が有る。

DoubleClick

コントロールがダブルクリックされたときに発生します。

MouseDoubleClick

コントロールがマウスでダブルクリックされたときに発生します。

しかし、これを読んでもいまいちピンと来ないので先生に聞いてみると
DoubleClickはMouseDoubleClickより上位のイベントでマウスのダブルクリック以外でも発生するらしい。
発生する順番しては下記のようになるらしい。

  1. MouseDown
  2. Click
  3. MouseClick
  4. MouseUp
  5. MouseDown
  6. DoubleClick
  7. MouseDoubleClick
  8. MouseUp

そもそもイベントハンドラーが違うようなので扱いとしては全くの別物。

this.test.DoubleClick += new System.EventHandler(this.test_DoubleClick);
this.test.MouseDoubleClick += new System.Windows.Forms.MouseEventHandler(this.test_MouseDoubleClick);