1

我想显示一个打印机对话框,但是当我运行以下代码时,它会在 ShowPrinterDialog 打开时立即打印。换句话说,它不会在打印前等待 ShowPrinterDialog 关闭。

WebBrowser browser = new WebBrowser();
browser.DocumentText = "<b>Stack Overflow FTW!</b>";
browser.DocumentCompleted += Browser_DocumentCompleted;

void Browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e)
{
    ((WebBrowser)sender).ShowPrinterDialog();
    ((WebBrowser)sender).Print();
}

有想法该怎么解决这个吗?

4

2 回答 2

5

只需使用 .Print() 删除最后一行;-)

于 2011-02-15T22:11:30.410 回答
0
  • 如果您不使用WebBrowserDocumentCompletedEventArgs,请将其声明为EventArgs
  • 不要施放超过一次

IE:

void Browser_DocumentCompleted(object sender, EventArgs e)
{
     WebBrowser browser = (WebBrowser)sender;
     browser.ShowPrinterDialog();
     browser.Print();
}
于 2011-02-16T13:14:03.457 回答