2012-05-31 37 views
1

我在WinForm上使用WebBrowser控件。當我的表單最小化時,控件拋出異常,當Form窗口狀態最小化時,Webbrowser控件拋出異常

由於應用程序正在調度 輸入同步調用,因此無法進行傳出呼叫。 (異常來自HRESULT:0x8001010D (RPC_E_CANTCALLOUT_ININPUTSYNCCALL))

我已經指出的WindowState爲,

this.WindowState = FormWindowState.Minimized; 

有誰知道這個問題的?

由於提前,
維傑

+0

我已經運行一個應用程序與webbrowser控制this.WindowState = FormWindowState.Minimized; 沒有發生問題。我認爲你的問題在其他代碼中。 –

+0

是的,我試圖修改另一個線程上的UI元素。 –

+0

如果我正確地選擇您的問題,那麼解決方案將調用方法。答案給出了答案。如果問題沒有解決,請評論。 –

回答

0

如果你想從其它線程使用invoke方法

 if (control.InvokeRequired) 
     { 
      control.Invoke((MethodInvoker)(()=> control.updatingfunction()) ; 

     } 
     else 
     { 
      control.updatingfunction(); 
     } 

修改UI假設你想隱藏其他線程面板(名爲PANEL1)。那麼你的代碼將是

 if (panel1.InvokeRequired) 
     { 
      panel1.Invoke((MethodInvoker)(()=> panel1.Hide())) ; 

     } 
     else 
     { 
      panel1.Hide(); 
     } 
+0

是的,類似的東西。謝謝 :) –

相關問題