我正在嘗試編寫一個函數,該函數將動態創建選項卡頁,填充選項卡,然後返回有關所做的操作的數據。有些事件會告訴我每個選項卡何時完成,因此我將能夠分辨何時全部加載。讓C#函數在返回之前等待UI負載
所有的工作都是與UI相關的,我的理解是UI的東西必須在主線程中發生,所以聽起來像我不能只是創建一個線程來做到這一點,然後在我的函數中等待。我是否誤解了這個問題,UI用戶必須在主線程中?如何讓我的功能在不阻止UI中必須發生的工作的情況下等待?
編輯:爲了澄清,標籤頁有webbrowser控件將加載各種網頁,所以這些需要一些時間,我得到一個DocumentCompleted事件爲每個時它被加載。想法是這樣的:來電者給我一個網址列表。我彈出一個表單併爲每個網址創建一個包含網頁瀏覽器控件的標籤頁,並在每個標籤中加載一個網址。這些將在不同的時間完成,每個頁面加載後觸發DocumentComplete事件處理程序。當他們都加載完畢後,我想要將一個數據列表返回給原始調用者。
如果您希望從後臺線程工作並修改UI控件而不像您在主線程中那樣,請查看我的答案。 – 2011-05-08 00:12:54