ナレッジベース
[Reports for Windows Forms] 印刷ダイアログでキャンセルしたかどうかを調べる方法は?
対象製品
ComponentOne Studio 2010J
詳細
C1PrintPreviewControlコントロールのツールバーの[印刷]ボタンをクリックすると印刷ダイアログが表示されますが、PreviewPrintイベントハンドラで既定の処理をキャンセルしてから、印刷ダイアログの表示処理を実装することにより、印刷ダイアログで[OK]または[キャンセル]ボタンのどちらが選択されたのかを調べることができます。
◎サンプルコード(VB)
◎サンプルコード(C#)
◎サンプルコード(VB)
Imports System.Drawing.Printing
Imports C1.C1Preview
Private Sub C1PrintPreviewControl1_PreviewPane_PreviewPrint(ByVal sender As System.Object, ByVal e As C1.Win.C1Preview.PreviewPrintEventArgs) Handles C1PrintPreviewControl1.PreviewPane.PreviewPrint
' 既定の処理をキャンセルします。
e.Cancel = True
If (e.PrintDialog.ShowDialog() = DialogResult.OK) Then
' 印刷を実行します。
Dim ps As PrinterSettings = e.PrintDialog.PrinterSettings
C1PrintDocument1.Print(ps, New OutputRange(ps.FromPage, ps.ToPage))
Else
' 印刷がキャンセルされたときの処理を実行します。
MessageBox.Show("印刷をキャンセルしました")
End If
End Sub
Imports C1.C1Preview
Private Sub C1PrintPreviewControl1_PreviewPane_PreviewPrint(ByVal sender As System.Object, ByVal e As C1.Win.C1Preview.PreviewPrintEventArgs) Handles C1PrintPreviewControl1.PreviewPane.PreviewPrint
' 既定の処理をキャンセルします。
e.Cancel = True
If (e.PrintDialog.ShowDialog() = DialogResult.OK) Then
' 印刷を実行します。
Dim ps As PrinterSettings = e.PrintDialog.PrinterSettings
C1PrintDocument1.Print(ps, New OutputRange(ps.FromPage, ps.ToPage))
Else
' 印刷がキャンセルされたときの処理を実行します。
MessageBox.Show("印刷をキャンセルしました")
End If
End Sub
◎サンプルコード(C#)
using System.Drawing.Printing;
using C1.C1Preview;
private void c1PrintPreviewControl1_PreviewPane_PreviewPrint(object sender, C1.Win.C1Preview.PreviewPrintEventArgs e)
{
// 既定の処理をキャンセルします。
e.Cancel = true;
if (e.PrintDialog.ShowDialog() == DialogResult.OK)
{
// 印刷を実行します。
PrinterSettings ps = e.PrintDialog.PrinterSettings;
c1PrintDocument1.Print(ps, new OutputRange(ps.FromPage, ps.ToPage));
}
else
{
// 印刷がキャンセルされたときの処理を実行します。
MessageBox.Show("印刷をキャンセルしました");
}
}
using C1.C1Preview;
private void c1PrintPreviewControl1_PreviewPane_PreviewPrint(object sender, C1.Win.C1Preview.PreviewPrintEventArgs e)
{
// 既定の処理をキャンセルします。
e.Cancel = true;
if (e.PrintDialog.ShowDialog() == DialogResult.OK)
{
// 印刷を実行します。
PrinterSettings ps = e.PrintDialog.PrinterSettings;
c1PrintDocument1.Print(ps, new OutputRange(ps.FromPage, ps.ToPage));
}
else
{
// 印刷がキャンセルされたときの処理を実行します。
MessageBox.Show("印刷をキャンセルしました");
}
}


