DOBON.NET プログラミング道: .NET Framework, VB.NET, C#, Visual Basic, Visual Studio, インストーラ, ...

ダブルクリックした時のキーイベントの発生する順番

ダブルクリックした時の各キーイベント(Click, DoubleClick, MouseDown, MouseUp イベント)の発生する順番について、なぜかヘルプに書かれていないようなので、一応紹介しておきます(ないはずないとは思うのですが)。私が実際に確かめたところでは、次の順番でイベントが発生するようです(.NET Framework 1.1で確認)。

  1. MouseDown
  2. Click
  3. MouseUp
  4. MouseDown
  5. DoubleClick
  6. MouseUp

.NET Framework 2.0からはMouseClick、MouseDoubleClickイベントが追加されました。これらを含めた順番は、次のようになりました。

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

ちなみに、DoubleClickイベントが発生するコントロールは、スタイルがControlStyles.StandardDoubleClickビットおよび ControlStyles.StandardClickビットがTrueとなっているコントロールです。

ダブルクリックした時、MouseDownとMouseUpイベントは2回ずつ発生しますが、MouseDownイベントでは、一回目と二回目とをe.Clicksにより区別することができます(e.Clicksが1の時は初めのMouseDownイベントで、2の時は2回目)。MouseUpイベントではなぜか一回目も二回目もe.Clicksは1のようです(.NET Framework 1.1、2.0で確認)。

  • 履歴:
  • 2007/1/12 .NET Framework 2.0に関する記述を追加。

注意:この記事では、基本的な事柄の説明が省略されているかもしれません。初心者の方は、特に以下の点にご注意ください。

  • .NET Tipsをご利用いただく際は、注意事項をお守りください。