ActiveReports for .NET 18.0J
Viewerコントロールのカスタマイズ
ActiveReportsユーザーガイド > レポートの表示 > Windowsフォーム用のビューワの使用 > Viewerコントロールのカスタマイズ

ActiveReportsでは、Windowsフォーム用のViewerコントロールを使用してレポートの出力結果をカスタムプレビューフォームで表示することができます。ビューワでは、ツールバーのマウスモード・タッチモードの変更や、プレビューフォームへのカスタムメニューコマンドの追加ができます。以下のサンプルコードでは、タッチモードツールバーのみをカスタマイズする方法、マウスモードツールバーのみをカスタマイズする方法、タッチモードとマウスモード両方のツールバーをカスタマイズする方法を示します。

基本的なプレビューのフォームを作成する

  1. Visual Studioのプロジェクトに新規のWindowsフォームを追加します。
  2. Visual Studioツールボックスにある[ActiveReports 18]タブからViewerコントロールをフォームにドラッグ&ドロップします。ツールボックスにViewerコントロールが表示されていない場合は、「クイックスタート」を参照してください。
  3. Viewerコントロールを選択し、[プロパティ]ウィンドウからDockプロパティを「Fill」に設定します。
  4. [プロジェクト]メニューから[新しい項目の追加]を選択します。
  5. [ActiveReport 18.0J セクションレポート(コード)]を選択し、[追加]ボタンをクリックします。
  6. フォームのタイトルバーをダブルクリックしてForm_Loadイベントを作成します。
  7. ハンドラに次のコードを追加し、Viewerでレポートを表示します。

    Visual Basic

    Visual Basicコード(Form_Loadイベント内に貼り付けます)
    コードのコピー
    Dim rpt as new SectionReport1
    Viewer1.LoadDocument(rpt)
    

    C#

    C#コード(Form_Loadイベント内に貼り付けます)
    コードのコピー
    SectionReport1 rpt = new SectionReport1(); viewer1.LoadDocument(rpt);
    
  8. [F5]キーを押して、プロジェクトを実行します。

マウスモードツールバーのみのカスタマイズ

  1. 上記の手順で作成したプロジェクトに、Windowsフォームを1つ追加し、名前を「frmPrintDlg」に変更します。
  2. frmPrintDlgにLabelコントロールを追加し、Textプロパティを「これはカスタム印刷ダイアログです。」に変更します。
  3. frmPrintDlgにButtonコントロールを追加し、Textプロパティを「OK」に変更します。
  4. Viewerコントロールを追加したフォームのタイトルバーをダブルクリックしてForm_Loadイベントへ移動します。
  5. Form_Loadイベントに以下のコードを追加し、デフォルトの印刷ボタンを削除し、カスタムのボタンを追加します。

    Visual Basic

    Visual Basicコード(Form_Loadイベント内に貼り付けます)
    コードのコピー
    'デフォルトの印刷のボタンを削除します。
    Viewer1.Toolbar.ToolStrip.Items.RemoveAt(2)
    '余分なセパレーターを削除します。
    Viewer1.Toolbar.ToolStrip.Items.RemoveAt(1)
    'カスタムボタンを作成します。
    Dim tsbPrint As New ToolStripButton("印刷")
    Viewer1.Toolbar.ToolStrip.Items.Add(tsbPrint)
    'カスタムボタン用のClickイベントハンドラを作成します。
    AddHandler tsbPrint.Click, AddressOf tsbPrint_Click
    

    C#

    C#コード(Form_Loadイベント内に貼り付けます)
    コードのコピー
    //デフォルトの印刷のボタンを削除します。 
    viewer1.Toolbar.ToolStrip.Items.RemoveAt(2);
    //余分なセパレーターを削除します。
    viewer1.Toolbar.ToolStrip.Items.RemoveAt(1);
    //カスタムボタンを作成します。
    ToolStripButton tsbPrint = new ToolStripButton("印刷");
    viewer1.Toolbar.ToolStrip.Items.Add(tsbPrint);
    //カスタムボタン用のClickイベントハンドラを作成します。
    tsbPrint.Click += new EventHandler(tsbPrint_Click);
    
  6. Loadイベントの下のFormクラスに以下のコードを追加し、ユーザーがカスタムの[印刷]ボタンをクリックした際に、frmPrintDlgが表示されるようにします。

    Visual Basic

    Visual Basicコード(Form_Loadイベントの下に貼り付けます)
    コードのコピー
    'カスタムボタンのClickイベントを作成し、カスタム印刷ダイアログを呼び出します。
    Private Sub tsbPrint_Click(sender As Object, e As EventArgs)
        Me.CustomPrint()
    End Sub
    
    'カスタム印刷ダイアログを呼び出します。
    Private Sub CustomPrint()
        Dim _printForm As New frmPrintDlg()
        _printForm.ShowDialog(Me)
    End Sub
    

    C#

    C#コード(Form_Loadイベントの下に貼り付けます)
    コードのコピー
    //カスタムボタンのClickイベントを作成し、カスタム印刷ダイアログを呼び出します。
    void tsbPrint_Click(object sender, EventArgs e)
    {
        this.CustomPrint();
    }
    
    //カスタム印刷ダイアログを呼び出します。
    private void CustomPrint()
    {
        frmPrintDlg _printForm = new frmPrintDlg();
        _printForm.ShowDialog(this);
    }
    
  7. プロジェクトを実行するには、[F5]キーを押下し、Viewer上にカスタム印刷ボタンを表示します。

タッチモードツールバーのみのカスタマイズ

  1. Viewerコントロールを追加したフォームのタイトルバーをダブルクリックしてForm_Loadイベントを作成します。
  2. 以下のコードを追加して、カスタムの縮小ボタンを追加します。

    Visual Basic

    Visual Basic(Form_Loadイベント内に貼り付けます)
    コードのコピー
    Dim zoomOutButton = viewer1.TouchModeToolbar.ToolStrip.Items(8)
    zoomOutButton.Visible = true
    

    C#

    C#(Form_Loadイベント内に貼り付けます)
    コードのコピー
    var zoomOutButton = viewer1.TouchModeToolbar.ToolStrip.Items[8];
    zoomOutButton.Visible = true;
    
注意: マウスモードでのカスタマイズはタッチモードには適用されません。その逆も同じです。

ToolStripのツールバーから任意のボタンを削除できます。この例ではテキストを含んだボタンのみを追加しましたが、アイコン、またはアイコンとともにテキストも追加することができます。詳細については、「Windowsフォーム用のビューワの使用」を参照してください。

関連トピック