1

このコードを実行し、PrintDialogでキャンセルを押すと、引き続き印刷されます。使用がキャンセルを押したかどうかはどうすればわかりますか?

PrintDocument document = new PrintDocument();
PrintDialog dialog = new PrintDialog();

dialog.ShowDialog();
document.PrinterSettings = p.PrinterSettings;
document.Print();

補遺

WebBrowser w = new WebBrowser();
w.ShowPrintDialog(); //.ShowPrintDialog returns a void, how can I deal with this?
4

3 に答える 3

7

ShowDialogメソッドの結果を確認できます。

if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
   //Print
}
于 2011-02-15T18:35:07.707 に答える
3

ShowDialogは、ダイアログ結果の列挙を返します。[OK]または[キャンセル]のいずれかになります。

PrintDocument document = new PrintDocument();
PrintDialog dialog = new PrintDialog();

if(dialog.ShowDialog() == DialogResult.Ok)
{
    document.PrinterSettings = p.PrinterSettings;
    document.Print();
}
于 2011-02-15T18:35:50.223 に答える
0

上記の答えは正しいですSystem.Windows.Forms.PrintDialog。ただし、Formsアプリケーションを作成していない場合は、PrintDialogを使用しますSystem.Windows.Controls.PrintDialog。ここでShowDialog、:を返しbool?ます

var dialog = new System.Windows.Controls.PrintDialog();

if (dialog.ShowDialog() == true)
{
    // Print...
}
于 2015-07-17T12:32:55.267 に答える