多线程操作时 IntPtr handle = webBrowser1.Handle;运行时提示线程间操作无效: 从不是创建控件“...”的线程访问它。前两次提示这个错误时是设置控件的值时报这个错,现已经解决。但这里是获取浏览器控件句柄时报错,又该怎么解决呢?谢谢回答。。

解决方案 »

  1.   

    还有以前多数谈到的是解决设置某控件的text值,我们现在是要设置某控件的其它属性,比如设置窗体是否在最前面显示,设置窗体的最大化最小化,这又该怎么办?
      

  2.   

    webbrowser是STA组件,应该只从界面线程访问
      

  3.   

    还有的方法通常说是加一句 Control.CheckForIllegalCrossThreadCalls = false; 来禁用错误检测,如果这样设置会不会给程序带来其它问题呢。比如死锁之类的?我做的程序可能用几个线程要同时取得浏览器控件的句柄。