【发布时间】:2019-08-01 13:46:52
【问题描述】:
我尝试使用 WebBrowser 类打印格式化的 HTML。打印后,我想关闭应用程序。如果我尝试使用关闭应用程序,打印将无法正常工作。我尝试使用计时器也没有任何效果。
请在下面找到代码。
static void Main(string[] args) {
var b = new Program();
string appPath = System.IO.Path.GetDirectoryName(Application.ExecutablePath);
b.runBrowserThread("file://" + appPath + "/receipt.html");
}
private void runBrowserThread(string url) {
var th = new Thread(() => {
var br = new WebBrowser();
br.DocumentCompleted += browser_DocumentCompleted;
br.Navigate(url);
Application.Run();
});
th.SetApartmentState(ApartmentState.STA);
th.Start();
}
void browser_DocumentCompleted(object sender, WebBrowserDocumentCompletedEventArgs e) {
var br = sender as WebBrowser;
br.Print();
//Application.ExitThread();
Environment.Exit(0);
}
【问题讨论】:
-
PrintTemplateTeardown 是您正在寻找的。span>
-
我之前回答过一个类似的问题:stackoverflow.com/a/19737374/1768303
标签: c# .net winforms printing webbrowser-control