如题。
我的程序需要自动操作webbrowser,因为流程比较多,不想界面上卡死。
请问怎么在多线程中操作webrowser。

解决方案 »

  1.   

    参考代码:
    public partial class Form1 : Form
        {         private void button1_Click(object sender, EventArgs e)
             {
                System.Threading.Thread s = new System.Threading.Thread(new System.Threading.ThreadStart(test));
                s.ApartmentState = System.Threading.ApartmentState.STA;
                s.Start();
            }        public void test()
             {
                 this.Invoke(new EventHandler(this.invokeTest));
            }
            public void invokeTest(object sender,EventArgs e)
            {
                System.Windows.Forms.WebBrowser wb = new WebBrowser();
                this.Controls.Add(wb);
            }
            public Form1()
            {
                InitializeComponent();
            }
        }
      

  2.   

    ??
    我窗体上已经有个webbrowser了,怎么操作它呢?
      

  3.   

    我在窗体上放了1个按钮 1个webbrowser
    点击按钮后,要让webbrowser打开10个网站采集数据
      

  4.   

    在非UI线程中操作UI线程是不允许的,可以采用2楼的方式。你在按钮中启动一个线程去完成你的出来操作,在这线程中访问ui的代码封装成方法或干脆用匿名方法,然后用this.Invoke()去调用。