WebBrowser.Print()等到完成..净

Mat*_*att 5 .net c# browser vb.net printing

我在VB.NET中使用WebBrowser控件并调用Print()方法.我正在使用PDF打印机进行打印,并且当调用Print()时,它不会立即启动(等待它完成运行整个Sub或块的代码.

我需要确保我打印的文件也是完整的并继续处理这个文件,因此,我想按需打印并获得操作完成时的状态.我已经尝试过使用printDocument并且没有运气.

有人有主意吗?

Chr*_*aas 5

检查PrintTemplateTeardown底层非托管WebBrowser对象的事件.有时候这个事件会多次被触发,但希望这会指向正确的方向.您需要添加引用Microsoft Internet Controls.

Private Sub Print()
    AddHandler DirectCast(WebBrowser1.ActiveXInstance, SHDocVw.WebBrowser).PrintTemplateTeardown, AddressOf PrintDone
    WebBrowser1.Print()
End Sub
Private Sub PrintDone(ByVal obj As Object)
    Trace.WriteLine("printed")
    RemoveHandler DirectCast(WebBrowser1.ActiveXInstance, SHDocVw.WebBrowser).PrintTemplateTeardown, AddressOf PrintDone
End Sub
Run Code Online (Sandbox Code Playgroud)