'宣言 Public Event BeforeDoubleClick As BeforeMouseDownEventHandler
public event BeforeMouseDownEventHandler BeforeDoubleClick
イベント データ
イベント ハンドラが、このイベントに関連するデータを含む、BeforeMouseDownEventArgs 型の引数を受け取りました。次の BeforeMouseDownEventArgs プロパティには、このイベントの固有の情報が記載されます。
プロパティ | 解説 |
---|---|
Button | 押されたマウスボタンを取得します。 |
Cancel | イベントをキャンセルするかどうかを示す値を取得または設定します。 |
Clicks | マウスボタンが押されて放された回数を取得します。 |
Delta | マウスホイールが回転されたデテント数を符号付きの値で取得します。デテントは、マウスホイールの 1 刻みです。 |
X | マウスがクリックされた場所の x 座標を取得します。 |
Y | マウスがクリックされた場所の y 座標を取得します。 |
解説
このイベントは、グリッドが System.Windows.Forms.Control.DoubleClickイベントを処理する前に発生し、プログラムがコントロールの動作をカスタマイズしたり、オプションでデフォルトのマウスの処理をキャンセルできるようにします。
使用例
次のコードは、 BeforeDoubleClick イベントを処理して、特定の列にあるセルのダブルクリックを検出し、組み込みエディタを使用せずに独自の編集ダイアログを提供します。
Private Sub flex_BeforeDoubleClick(・・・ ' Customer 列のダブルクリックを検出します。 Dim hti As HitTestInfo = flex.HitTest(e.X, e.Y) If hti.Type = HitTestTypeEnum.Cell And flex.Cols(hti.Column).Name = "Customer" Then ' デフォルトの処理をキャンセルします。 e.Cancel = True ' ダブルクリックを処理します。 ShowCustomEditDialog(hti.Row, hti.Column) End If End Sub
private void flex_BeforeDoubleClick(・・・ { // Customer 列のダブルクリックを検出します。 HitTestInfo hti = flex.HitTest(e.X, e.Y); if (hti.Type == HitTestTypeEnum.Cell && flex.Cols[hti.Column].Name == "Customer") { // デフォルトの処理をキャンセルします。 e.Cancel = true; // ダブルクリックを処理します。 ShowCustomEditDialog(hti.Row, hti.Column); } }
参照