在网上搜了很多,
都说是可以用委托将函数放在主线程调用
结果也是可以了。
但是这种方法就失去了线程的防假死功能 就等于又是一个线程在运作了(或者可以说变成了一个伪线程)
不能循环的访问webBrowser元素了,不然就出现假死状态
有没有办法可以 既能够在线程中访问webBrowser元素 又可以循环访问而不假死呢?
弄了一天了,求高手解答。
public Form1()
{
InitializeComponent();
Control.CheckForIllegalCrossThreadCalls = false;
}
Thread th;
private void button1_Click(object sender, EventArgs e)
{
th = new Thread(Set);
th.IsBackground = true;
th.Start();
}
public void Set()
{
for (int i = 0; i < 1000000; i++)
{
webBrowser1.Document.GetElementById("login_user").SetAttribute("Value", i.toString());
}
}
上面是简化版的代码,想得到的结果是 不抛出'指定的转换无效'异常也不会出现假死的状态