如果打印机对话框取消,则不打印?

发布于 2024-10-17 19:28:19 字数 409 浏览 2 评论 0原文

如果我运行此代码,并按 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?

If I run this code, and press cancel on the PrintDialog, it still prints. How can I tell if the use pressed cancel?

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

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

Addendum

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

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

酒废 2024-10-24 19:28:19

您可以检查 ShowDialog 方法的结果:

if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
   //Print
}

You can check the result of the ShowDialog method:

if (dialog.ShowDialog() == System.Windows.Forms.DialogResult.OK)
{
   //Print
}
风追烟花雨 2024-10-24 19:28:19

ShowDialog 返回对话框结果枚举。要么确定,要么取消。

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

if(dialog.ShowDialog() == DialogResult.Ok)
{
    document.PrinterSettings = p.PrinterSettings;
    document.Print();
}

ShowDialog returns a dialog result enumeration. It will either be OK, or Cancel.

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

if(dialog.ShowDialog() == DialogResult.Ok)
{
    document.PrinterSettings = p.PrinterSettings;
    document.Print();
}
避讳 2024-10-24 19:28:19

上面的答案对于 是正确的System.Windows.Forms.PrintDialog。但是,如果您不构建 Forms 应用程序,则您将使用的 PrintDialogSystem.Windows.Controls.PrintDialog。这里,ShowDialog 返回一个 bool?

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

if (dialog.ShowDialog() == true)
{
    // Print...
}

The answers above are correct for System.Windows.Forms.PrintDialog. However, if you're not building a Forms application, the PrintDialog you will use is System.Windows.Controls.PrintDialog. Here, ShowDialog returns a bool?:

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

if (dialog.ShowDialog() == true)
{
    // Print...
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文