PrintPreviewDialogを利用した場合の印刷完了判断 への返答
投稿で使用できる特殊コードの説明。(別タブで開きます。)
以下の返答は逆順(新しい順)に並んでいます。
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2013/12/24 16:07:16
あ。PrintDialog と勘違いしていました…失礼しました。
PrintPreviewDialog なら、こんな感じで処理できると思います。
PrintPreviewDialog なら、こんな感じで処理できると思います。
Private Sub PrintClick(sender As Object, e As EventArgs)
PrintPreviewDialog1.Tag += 1
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
Dim tool = PrintPreviewDialog1.Controls.OfType(Of ToolStrip)().First()
Dim item = tool.Items.OfType(Of ToolStripButton)().Where(Function(t) t.Text Like "印刷*").First()
AddHandler item.Click, AddressOf PrintClick
PrintPreviewDialog1.Tag = 0
Me.PrintPreviewDialog1.ShowDialog()
RemoveHandler item.Click, AddressOf PrintClick
MsgBox(String.Format("印刷ボタンが押された回数={0}", PrintPreviewDialog1.Tag), MsgBoxStyle.Information)
End Sub
投稿者 nin  (社会人)
投稿日時
2013/12/24 15:43:09
回答ありがとうございます
試しに以下のように記述してみましたが、ダメでした
If PrintPreviewDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
MsgBox("OK")
Else
MsgBox("Cancelled")
End If
PrintPreviewDialog1.ShowDialog() の戻り値ですが、閉じると 2 が帰ってきます
印刷ボタンを押してもまだフォームが閉じないので、戻り値が帰りません
その後、閉じるで、同じ 2 が帰ってきます
ん~~ん です
試しに以下のように記述してみましたが、ダメでした
If PrintPreviewDialog1.ShowDialog() = System.Windows.Forms.DialogResult.OK Then
MsgBox("OK")
Else
MsgBox("Cancelled")
End If
PrintPreviewDialog1.ShowDialog() の戻り値ですが、閉じると 2 が帰ってきます
印刷ボタンを押してもまだフォームが閉じないので、戻り値が帰りません
その後、閉じるで、同じ 2 が帰ってきます
ん~~ん です
投稿者 魔界の仮面弁士  (社会人)
投稿日時
2013/12/23 20:06:00
> 印刷されたのか、キャンセルされたのか
ダイアログがキャンセルされたか否か、という意味であれば、
呼び出しに使った ShowDialog メソッドの戻り値で判断できます。
印刷指示を出した後、それがプリンター側で取り消されたかを
調べたいのだとしたら、それは取得できないと思います。
ダイアログがキャンセルされたか否か、という意味であれば、
呼び出しに使った ShowDialog メソッドの戻り値で判断できます。
印刷指示を出した後、それがプリンター側で取り消されたかを
調べたいのだとしたら、それは取得できないと思います。
投稿者 nin  (社会人)
投稿日時
2013/12/23 19:36:51
毎度お世話になっています
PrintPreviewDialogを利用して印刷していますが、印刷されたのか、キャンセルされたのか判断したいのですが、どのようにすればいいでしょうか?
何か戻り値を取得することができるのでしょうか?
PrintPreviewDialogを利用して印刷していますが、印刷されたのか、キャンセルされたのか判断したいのですが、どのようにすればいいでしょうか?
何か戻り値を取得することができるのでしょうか?
できました! ありがとうございます。
記載頂いたコード、小生では、さっぱり理解不能?ですが、印刷判断できました