多くのプレビューアプリケーションには進行状況インジケータがあり、レンダリング中のページが表示されたり、レポートの生成中にユーザーがレポートをキャンセルするためのボタンが用意されています。.NET 印刷プレビューコントロールは、このインジケータを自動的に準備します。
レポートを直接プリンタに印刷したり、ファイルにエクスポートする場合、進行状況を報告する UI は組み込まれません。
進行状況を報告するダイアログを作成したり、レポートの生成中にステータスバーを更新するには、C1Report のイベントを使用する必要があります。 StartPage イベントと EndReport イベントを使用すると、印刷中のページやレポートの完了に関する情報をユーザーに提供できます。たとえば、次のコードは、StartPage イベントを使用して、ステータスバーStatusStrip1にフィードバックを表示します。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Private Sub c1r_StartPage(ByVal sender As System.Object, ByVal e As C1.Win.C1Report.ReportEventArgs) Handles c1r.StartPage StatusStrip1.Text = String.Format("Rendering page {0} of '{1}'...", c1r.Page, c1r.ReportName) End Sub |
C# コードの書き方
C# |
コードのコピー
|
---|---|
private void c1r_StartPage(object sender, ReportEventArgs e) { statusStrip1.Text = string.Format("Rendering page {0} of '{1}'...", c1r.Page, c1r.ReportName); } |
完了前にレポートをキャンセルするには、アプリケーションにキャンセルボタンを追加し、それを使用して C1Report のCancel プロパティを True に設定します。たとえば、次のように記述します。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Private Sub _btnCancel_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnCancel.Click c1r.Cancel = True Close() End Sub |
C# コードの書き方
C# |
コードのコピー
|
---|---|
private void _btnCancel_Click(object sender, System.EventArgs e) { c1r.Cancel = true; Close(); } |
プログレスバーやn/m ページを示すインジケータもあると便利ですが、レポート全体がレンダリングされるまでページ数がわからないため、これは一般に実現が困難です。