Я пишу приложение, которое распечатывает (визуализированную) страницу HTML на каждый принтер, установленный на компьютере, на котором запущено приложение.Я делаю это, создавая WebBrowser, вызывая print () и закрывая форму.Я делаю это для каждого принтера, установленного на этом компьютере.
Моя проблема заключается в том, что когда я вызываю попытку закрыть форму, страница не печатается.Любые идеи о том, как я могу сделать печать независимым фоновым процессом, чтобы я мог закрыть форму, пока она еще печатает?
Это код, который у меня сейчас есть в форме:
public PrintForm()
{
InitializeComponent();
string doc = "C:\\Path\\To\\file.htm";
browser.Url = new Uri(doc);
}
private void PrintForm_Shown(object sender, EventArgs e)
{
Thread t = new Thread(browser.Print);
t.IsBackground = false;
t.Start();
this.Close();
}
У меня есть другой класс, который переключает каждый из установленных принтеров как принтер по умолчанию (единственный способ программно обойти диалог печати) и затем вызывает
Applicated.Run(new PrintForm());
Действительно довольно просто код.Просто возникли проблемы с этим.