GrapeCity.Win.MultiRow.v80 アセンブリ > GrapeCity.Win.MultiRow 名前空間 > GcMultiRow クラス : CellContextMenuStripNeeded イベント |
Public Event CellContextMenuStripNeeded As EventHandler(Of CellContextMenuStripNeededEventArgs)
public event EventHandler<CellContextMenuStripNeededEventArgs> CellContextMenuStripNeeded
イベント ハンドラが、このイベントに関連するデータを含む、CellContextMenuStripNeededEventArgs 型の引数を受け取りました。次の CellContextMenuStripNeededEventArgs プロパティには、このイベントの固有の情報が記載されます。
プロパティ | 解説 |
---|---|
CellIndex | 親Section内でのセルのインデックスを取得します。 GrapeCity.Win.MultiRow.CellEventArgsから継承されます。 |
CellName | セルの名前を取得します。 GrapeCity.Win.MultiRow.CellEventArgsから継承されます。 |
ContextMenuStrip | GcMultiRow.CellContextMenuStripNeededイベントを発生させたセルのショートカットメニューを取得または設定します。 |
RowIndex | イベントが発生したオーナーRowのインデックスを取得します。 GrapeCity.Win.MultiRow.CellEventArgsから継承されます。 |
Scope | イベントが発生したセルの領域を取得します。 GrapeCity.Win.MultiRow.CellEventArgsから継承されます。 |
SectionIndex | イベントが発生したオーナーSectionのインデックスを取得します。 GrapeCity.Win.MultiRow.CellEventArgsから継承されます。 |
このイベントは、VirtualModeプロパティがtrueの場合、またはDataSourceプロパティがnull 参照 (Visual Basicでは Nothing)でない場合にのみ発生します。
CellContextMenuStripNeededイベントを処理すると、ユーザーがセルを右クリックしたときに、ハンドラで指定したショートカットメニューが表示されます。これは、セルの現在の状態または値に基づいて決定されたショートカットメニューを表示する場合に役立ちます。
CellContextMenuStripNeededイベントは、Cell.ContextMenuStripプロパティの値が取得されたとき(プログラムによって取得されたとき、またはユーザーがセルを右クリックしたとき)にも発生します。
CellEventArgs.CellIndexプロパティとCellEventArgs.RowIndexプロパティを使用してセルの状態または値を確認し、その情報に基づいてCellContextMenuStripNeededEventArgs.ContextMenuStripプロパティを変更できます。このプロパティはセルのCell.ContextMenuStripプロパティの値で初期化されます(その後、このイベントの値によってオーバーライドされます)。
大量のデータを操作しているとき、複数のセルのCell.ContextMenuStrip値を設定するとパフォーマンスペナルティが生じますが、CellContextMenuStripNeededイベントを処理することでこのような事態を回避できます。
また、個々のセルではなく個々のセクションにショートカットメニューを指定することもできます。そのためには、セクションのSection.ContextMenuStripプロパティを設定するか、SectionContextMenuStripNeededイベントを処理します。セルのCell.ContextMenuStripプロパティを設定すると、セクションのSection.ContextMenuStripプロパティの設定がオーバーライドされます。また、CellContextMenuStripNeededイベントは、SectionContextMenuStripNeededイベントとセクションのSection.ContextMenuStripプロパティ設定の両方をオーバーライドします。ただし、セクションのショートカットメニューがオーバーライドされないように、セルのショートカットメニューにnull 参照 (Visual Basicでは Nothing)を指定することもできます。