跳到問題的底部;這只是一些額外的信息運行多個UI線程
我正在使用組件(GeckoFX)來渲染一些網站,很好,但它只能在Windows窗體中使用;因爲它必須綁定到可以繪製的WinForms對象。因爲所有的WinForms都在同一個線程中運行,所以我一次只能使用一個GeckoFX實例;所以我決定創建一個WinForm形式的'worker class',並在其中添加所有的邏輯。表單不需要與主窗體進行通信。
現在我可以啓動10個窗口,它們最終可以工作,但是在所有其他窗體都處理完所有GeckoFX事件之前,每個新窗體都會等待,因爲您無法在一個線程上使用多個實例。此外,瀏覽器必須在UIThread上。所以:
是否有可能創建多個UI線程(每個表單一個)?
我看到有人在做它(http://74.125.77.132/search?q=cache:PrFTaH2nx_YJ:geckofx.org/viewtopic.php%3Fid%3D453+geckofx+service&cd=1&hl=nl&ct=clnk&gl=nl&client=firefox-a),但沒有人從他的代碼示例工作。起作用的人最初使用某種形式的定製信息抽取來做這種事情,但我不知道如何實現這樣的事情。
是我尋找的東西,但GeckoFX現在抱怨內存訪問違規,所以我現在只會繼續運行我的單線程:-) – 2009-10-15 08:15:06
請注意,您不必創建一個窗體來運行一個消息循環 - 只需在線程上使用無參數[Application.Run()](https://msdn.microsoft.com/en-us/library/ms157900%28v=vs.110%29.aspx)。 – ulatekh 2015-06-16 21:15:08