我想從c#應用程序中打印一個html頁面,但是在後臺線程上,因爲如果我在主線程上打印文檔,UI會凍結幾秒鐘,我不希望這樣。在後臺線程上打印
我已經嘗試過WebBrowser控件,但它需要託管在某種形式上才能正常工作。託管此控件仍然可以接受,但Print方法需要從創建控件的同一個線程中調用。我嘗試從其他線程調用WebBrowser的Print方法,但它既不工作也不提供任何錯誤/異常。我也嘗試過InternetExplorerClass,但它啓動iexplorer.exe並花費太多時間。
有沒有其他方法可以在不同的(非UI)線程上打印html頁面?
此代碼包含添加和刪除文檔完成事件處理程序之間的爭用條件。這就是爲什麼你需要Thread.Sleep(1000)。 Print方法是不是仍然在主線程上運行,而不是在後臺工作器上運行? – Asher 2010-04-12 08:32:34
我第一次遇到一些延遲。從第二次起,它按預期工作。 有什麼方法可以減少/消除延遲? – Ram 2010-04-12 09:19:33