MESCIUS SPREAD for Windows Forms 17.0J
組み込みコンテキストメニューの追加

SPREADでは、実行時にSPREADデザイナのようにコンテキストメニューを表示することができます。この機能は、SpreadのContextMenuStripプロパティを、リボンコントロールにアタッチせずにSpreadContextMenuStripの新しいインスタンスに設定することで実現できます。LegacyBehaviors.StyleLegacyBehaviors 列挙から除外されている場合にのみ有効です。

以下の表は、SPREADの特定の部分を右クリックしたときに表示されるさまざまなコンテキストメニューを示しています。

クリック領域 コンテキストメニュー項目
セル
行ヘッダ
列ヘッダ
シートコーナー

以下のコードを使用して、実行時にSPREADでコンテキストメニューを表示します。

C#
コードのコピー
// コンテキストメニューを追加します。
fpSpread1.ContextMenuStrip = new SpreadContextMenuStrip();
VB
コードのコピー
' コンテキストメニューを追加します。
FpSpread1.ContextMenuStrip = New SpreadContextMenuStrip()

以下のように、セルや列ヘッダーにデザインモードのようなコンテキストメニューを表示することもできます。

クリック領域 デザインモードのコンテキストメニュー項目
セル
列ヘッダ

以下のコードを使用して、実行時にSPREADのデザインモードのコンテキストメニューを表示します。

C#
コードのコピー
fpSpread1.BeforeRightClick += FpSpread1_BeforeRightClick;
// コンテキストメニューをデザインモードに変更します。
private void FpSpread1_BeforeRightClick(object sender, BeforeRightClickEventArgs e)
{
  if (e.ContextMenuStrip is SpreadContextMenuStrip spreadContext)
  {
    ContextMenuType contextMenuType = e.ContextMenuType;
    spreadContext.GenerateMenuItems(fpSpread1, contextMenuType, true);
  }
}
VB
コードのコピー
AddHandler FpSpread1.BeforeRightClick, AddressOf FpSpread1_BeforeRightClick
' コンテキストメニューをデザインモードに変更します。
Private Sub FpSpread1_BeforeRightClick(ByVal sender As Object, ByVal e As BeforeRightClickEventArgs) Handles FpSpread1.BeforeRightClick
  Dim spreadContext As SpreadContextMenuStrip = TryCast(e.ContextMenuStrip, SpreadContextMenuStrip)
  If spreadContext IsNot Nothing Then
    Dim contextMenuType As ContextMenuType = e.ContextMenuType
    spreadContext.GenerateMenuItems(FpSpread1, contextMenuType, True)
  End If
End Sub

以下のコードを使用すると、実行時にSPREADでコンテキストメニューが表示されなくなります。

C#
コードのコピー
// コンテキストメニューは表示されません。
fpSpread1.ContextMenuStrip = null;
VB
コードのコピー
' コンテキストメニューは表示されません。
FpSpread1.ContextMenuStrip = Nothing

制限事項

この機能は、LegacyBehaviors.Style が LegacyBehaviors 列挙から除外されている場合にのみ有効です。

 

 


© MESCIUS inc. All rights reserved.