Reports for WinForms
コンテキストメニューからの項目の削除

デフォルトでは、実行時にC1PreviewPane を右クリックするとコンテキストメニューが表示されます。この ContextMenuStrip には、ファイル、ズーム、およびテキストツールバーからの項目を含むプレビューを操作する設定が含まれています。ContextMenuStrip コントロールを追加し、それを PreviewPane.ContextMenuStrip プロパティに割り当てることにより、独自のコンテキストメニューを作成できます。追加の項目を追加したり、既存の項目を削除したりすることにより、既存の ContextMenuStrip をカスタマイズすることもできます。

以下の例では、標準の「コピー」項目をコンテキストメニューから削除します。以下の手順を実行します。

  1. Form_Load イベントで、C1PreviewPane 上の ContextMenuStripOpening イベントにハンドラを接続します。

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    AddHandler PreviewPane.ContextMenuStrip.Opening, AddressOf ContextMenuStrip_Opening
    

    C# コードの書き方

    C#
    コードのコピー
    PreviewPane.ContextMenuStrip.Opening += new CancelEventHandler(ContextMenuStrip_Opening);
    
  2. ContextMenuStrip_Opening を作成し、次のコードを追加して、コピー項目をコンテキストメニューから削除します。 

    Visual Basic コードの書き方

    Visual Basic
    コードのコピー
    Private Sub ContextMenuStrip_Opening(ByVal sender As Object, ByVal e As CancelEventArgs) 
        Dim cms As System.Windows.Forms.ContextMenuStrip = DirectCast(sender, System.Windows.Forms.ContextMenuStrip) 
        For Each item As ToolStripItem In cms.Items 
            If item.Tag = ContextMenuTags.Copy Then 
                item.Visible = False 
            End If 
        Next 
    End Sub
    

    C# コードの書き方

    C#
    コードのコピー
    void ContextMenuStrip_Opening(object sender, CancelEventArgs e)
    {
      System.Windows.Forms.ContextMenuStrip cms = (System.Windows.Forms.ContextMenuStrip)sender;
      foreach (ToolStripItem item in cms.Items)
        if (item.Tag == ContextMenuTags.Copy)
          item.Visible = false;
    }
    

このトピックの作業結果

C1PrintPreviewControl コントロールのプレビューペインを右クリックして、標準の「コピー」項目がコンテキストメニューに含まれていないことを確認します。