qq_31461149 2016-01-02 15:56 采纳率: 50%
浏览 3007
已采纳

c# 在线程中访问webBrowser元素抛出'指定的转换无效'异常

在网上搜了很多,
都说是可以用委托将函数放在主线程调用
结果也是可以了。
但是这种方法就失去了线程的防假死功能 就等于又是一个线程在运作了(或者可以说变成了一个伪线程)
不能循环的访问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());
            }

        }


上面是简化版的代码,想得到的结果是 不抛出'指定的转换无效'异常也不会出现假死的状态

  • 写回答

1条回答 默认 最新

  • threenewbee 2016-01-02 15:57
    关注

    贴出你的代码。

    用委托将函数放在主线程调用
    当然,只有操作UI的部分才得放入委托。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 微信会员卡接入微信支付商户号收款
  • ¥15 如何获取烟草零售终端数据
  • ¥15 数学建模招标中位数问题
  • ¥15 phython路径名过长报错 不知道什么问题
  • ¥15 深度学习中模型转换该怎么实现
  • ¥15 HLs设计手写数字识别程序编译通不过
  • ¥15 Stata外部命令安装问题求帮助!
  • ¥15 从键盘随机输入A-H中的一串字符串,用七段数码管方法进行绘制。提交代码及运行截图。
  • ¥15 TYPCE母转母,插入认方向
  • ¥15 如何用python向钉钉机器人发送可以放大的图片?