DataGridViewCell.ContextMenuStrip プロパティ


セルに関連付けられたショートカット メニューを取得または設定します。Gets or sets the shortcut menu associated with the cell.

 virtual property System::Windows::Forms::ContextMenuStrip ^ ContextMenuStrip { System::Windows::Forms::ContextMenuStrip ^ get(); void set(System::Windows::Forms::ContextMenuStrip ^ value); };
public virtual System.Windows.Forms.ContextMenuStrip ContextMenuStrip { get; set; }
member this.ContextMenuStrip : System.Windows.Forms.ContextMenuStrip with get, set
Public Overridable Property ContextMenuStrip As ContextMenuStrip


セルに関連付けられた ContextMenuStripThe ContextMenuStrip associated with the cell.


このプロパティは、ユーザーがセルを右クリックしたときに通常表示されるショートカットメニューを示します。This property indicates the shortcut menu that is typically displayed when the user right-clicks the cell.

DataGridView コントロール DataSource プロパティが設定されているか、その VirtualMode プロパティが trueである場合、ContextMenuStrip プロパティの値を取得すると、コントロールの CellContextMenuStripNeeded イベントが発生し、イベントに指定されている DataGridViewCellContextMenuStripNeededEventArgs.ContextMenuStrip プロパティの値が返されます。ヘッダー.When the DataGridView control DataSource property is set or its VirtualMode property is true, getting the value of the ContextMenuStrip property raises the CellContextMenuStripNeeded event of the control and returns the value of the DataGridViewCellContextMenuStripNeededEventArgs.ContextMenuStrip property as specified in the event handler. イベントのハンドラーが存在しない場合、ContextMenuStrip プロパティの値を取得すると、以前に指定した値または nullの既定値が返されます。If there are no handlers for the event, getting the value of the ContextMenuStrip property returns the previously specified value or its default value of null.

CellContextMenuStripNeeded イベントの処理は、複数のセルのセル ContextMenuStrip 値を設定するときのパフォーマンスの低下を避けるために、大量のデータを操作する場合に主に役立ちます。Handling the CellContextMenuStripNeeded event is primarily useful when working with large amounts of data to avoid performance penalties when setting the cell ContextMenuStrip value for multiple cells. 詳細については、「 Windows フォーム DataGridView コントロールを拡張するための推奨される手順」を参照してください。For more information, see Best Practices for Scaling the Windows Forms DataGridView Control.

このプロパティを変更すると、所有している DataGridViewCellContextMenuStripChanged イベントが発生します (存在する場合)。Changing this property raises the CellContextMenuStripChanged event on the owning DataGridView, if one exists.

また、行 ContextMenuStrip プロパティを設定したり、DataGridView コントロールの RowContextMenuStripNeeded イベントを処理したりして、個々のセルではなく個々の行のショートカットメニューを指定することもできます。You can also specify shortcut menus for individual rows rather than individual cells by setting the row ContextMenuStrip property or handling the DataGridView control's RowContextMenuStripNeeded event. セル ContextMenuStrip プロパティ設定は、行 ContextMenuStrip プロパティ設定よりも優先されます。 CellContextMenuStripNeeded イベントは、RowContextMenuStripNeeded イベントと row ContextMenuStrip プロパティ設定の両方をオーバーライドします。The cell ContextMenuStrip property setting overrides the row ContextMenuStrip property setting, and the CellContextMenuStripNeeded event overrides both the RowContextMenuStripNeeded event and the row ContextMenuStrip property setting. ただし、セルのショートカットメニューの null を指定して、行のショートカットメニューがオーバーライドされないようにすることができます。You can specify null for a cell shortcut menu, however, to prevent a row shortcut menu from being overridden.