1

如何从 myFunct() 中正确访问 Web 浏览器控件?Main.myWebBrowserControl & Main::myWebBrowserControl 不起作用。

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.
        }
    }
}
4

3 回答 3

2

除了不是静态的(如上所述)之外,您还必须确保您正在执行的内容是在应用程序的“主线程”上。这是处理事件的同一线程(例如处理来自应用程序的“点击事件”),因此如果您从那里调用该方法,那么您很好,但如果不是,您必须包装一个 Invoke( ) 或 BeginInvoke() 调用 Navigate()。

于 2009-04-09T18:59:06.207 回答
1

您不能从静态函数访问实例成员,将函数声明更改为

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

于 2009-04-09T18:53:16.890 回答
0

使 MyFunct 不是静态的。

于 2009-04-09T18:53:15.563 回答