作成日: 2016/05/06 最終更新日: 2016/05/06
文書種別
使用方法
詳細
C1Reportでは、System.Drawing.Printing.PrintDocumentのEndPrintイベントを使用し、印刷終了時のイベントを取得することができましたが、C1FlexReportでは、System.Drawing.Printing.PrintDocumentが使用できないため、EndPrintイベントも使用することができません。
C1FlexReportにて印刷終了時のイベントを取得するには、C1FlexReportのLongOperationイベントを使用します。
LongOperationイベントは、時間がかかる処理を実行した場合に定期的に発生し、その進捗状況を確認することができます。レポートの生成(Render)、印刷(Print)などを実行した際に発生します。
処理が完了すると、CanCancel引数がfalse、Complete引数が1となるため、この値となることで処理が完了したと判断することができます。
LongOperationイベントが印刷処理で発生したかどうかを判定するには、下記サンプルコードのようにC1FlexReportのPrintメソッド呼び出し前にフラグを設定します。
◎サンプルコード(Visual Basic)
◎サンプルコード(C#)
C1FlexReportにて印刷終了時のイベントを取得するには、C1FlexReportのLongOperationイベントを使用します。
LongOperationイベントは、時間がかかる処理を実行した場合に定期的に発生し、その進捗状況を確認することができます。レポートの生成(Render)、印刷(Print)などを実行した際に発生します。
処理が完了すると、CanCancel引数がfalse、Complete引数が1となるため、この値となることで処理が完了したと判断することができます。
LongOperationイベントが印刷処理で発生したかどうかを判定するには、下記サンプルコードのようにC1FlexReportのPrintメソッド呼び出し前にフラグを設定します。
◎サンプルコード(Visual Basic)
Private isPrinting As Boolean = False
Private Sub Form1_Load(sender As Object, e As EventArgs)
C1FlexReport1.Load("Sample.flxr", "新規レポート")
C1FlexReport1.Render()
isPrinting = True
C1FlexReport1.Print()
End Sub
Private Sub C1FlexReport1_LongOperation(sender As Object, e As LongOperationEventArgs)
If isPrinting Then
If Not e.CanCancel And e.Complete = 1 Then
' 印刷終了時の処理
isPrinting = False
End If
End If
End Sub
Private Sub Form1_Load(sender As Object, e As EventArgs)
C1FlexReport1.Load("Sample.flxr", "新規レポート")
C1FlexReport1.Render()
isPrinting = True
C1FlexReport1.Print()
End Sub
Private Sub C1FlexReport1_LongOperation(sender As Object, e As LongOperationEventArgs)
If isPrinting Then
If Not e.CanCancel And e.Complete = 1 Then
' 印刷終了時の処理
isPrinting = False
End If
End If
End Sub
◎サンプルコード(C#)
private bool isPrinting = false;
private void Form1_Load(object sender, EventArgs e)
{
c1FlexReport1.Load("Sample.flxr", "新規レポート");
c1FlexReport1.Render();
isPrinting = true;
c1FlexReport1.Print();
}
private void c1FlexReport1_LongOperation(object sender, LongOperationEventArgs e)
{
if (isPrinting)
{
if (!e.CanCancel && e.Complete == 1)
{
// 印刷終了時の処理
isPrinting = false;
}
}
}
private void Form1_Load(object sender, EventArgs e)
{
c1FlexReport1.Load("Sample.flxr", "新規レポート");
c1FlexReport1.Render();
isPrinting = true;
c1FlexReport1.Print();
}
private void c1FlexReport1_LongOperation(object sender, LongOperationEventArgs e)
{
if (isPrinting)
{
if (!e.CanCancel && e.Complete == 1)
{
// 印刷終了時の処理
isPrinting = false;
}
}
}
旧文書番号
81642