2009-04-09 40 views
1

如何從myFunct()內正確訪問Web瀏覽器控件? Main.myWebBrowserControl & Main :: myWebBrowserControl不起作用。C#從自定義函數訪問表單控件

namespace foo{ 
    public partial class Main : Form{ 
     public Main(){ 
      InitializeComponent(); 
      // Do some things... 
      MyFunct(); 
     } 
     public static void MyFunct(){ 
      myWebBrowserControl.Navigate("http://www.google.com"); // causing an error. 
     } 
    } 
} 

回答

1

您不能訪問從靜態函數實例成員,改變你的函數聲明

public void MyFunct(){ 
      myWebBrowserControl.Navigate("http://www.google.com"); 
    } 

0

使MyFunct不是靜態的。

2

除了不能是靜態的(如上面說的),你還必須確保你」重新執行在應用程序的「主線程」上。這是處理事件的線程(例如處理應用程序中的「單擊事件」),因此如果您從那裏調用方法,那麼您很好,但如果不是,則必須包裝一個Invoke( )或BeginInvoke()調用Navigate()。

相關問題