Cross-thread InvalidOperationException

原创 2011年01月10日 03:26:00

windows not allowed the component be accessed by the thread which doesn't create it.

it will cause error Cross-thread InvalidOperationException

 

1.

 

public Form1() {
    InitializeComponent();
 
    Control.CheckForIllegalCrossThreadCalls = false;
}

2.
delegate

 

 

 

 public partial class Form1 : Form
 {
        public delegate void delegate_boundTreeView();     // delegate
        public delegate_boundTreeView myDelegateBoundTreeView;

 private System.Timers.Timer timer_refresh = new System.Timers.Timer(60000);  // another thread

 Form1()
 {
  boundTreeView ();  // main thread

  myDelegateBoundTreeView = new delegate_boundTreeView(boundTreeView);
  timer_refresh.Elapsed += new ElapsedEventHandler(timer_refresh_Elapsed);
  timer_refresh.Start();
 }

 public void boundTreeView ()
 {
  // edit your windows component treeview or anything else (textbox, combobox)
 }
 
 
 public void timer_refresh_Elapsed(object sender, ElapsedEventArgs e)    
        {
            try
            {
                this.Invoke(this.myDelegateBoundTreeView);

            }
            catch
            {
                timer_refresh.Stop();
                //timer_refresh.Enabled = false;
            }
        }
}

 

control.invoke

 

http://msdn.microsoft.com/zh-cn/library/zyzhdc6b.aspx

http://msdn.microsoft.com/zh-cn/library/system.windows.forms.control.invokerequired.aspx

Cross-Thread InvalidOperationException

Cross-thread operation not valid目录目录.. 2概要.. 31. Example. 31.1 Unsafe access to control31.2 What’s m...
  • bianshusen
  • bianshusen
  • 2007年01月26日 15:11
  • 785

Cross-Thread InvalidOperationException

Cross-thread operation not valid目录目录.. 2概要.. 31. Example. 31.1 Unsafe access to control31.2 What’s m...
  • LeoMaya
  • LeoMaya
  • 2006年12月26日 23:15
  • 2484

Cross-thread operation not valid

 Cross-thread operation not valid目录目录.. 2概要.. 31. Example. 31.1 Unsafe access to control31.2 What’s ...
  • JoeM
  • JoeM
  • 2006年12月18日 21:51
  • 4500

解决Cross-thread operation not valid的问题

转自:http://www.techmango.com/blog/article/DotNet/Cross_thread_operation_not_valid.htm  Windows Forms ...
  • guanxx
  • guanxx
  • 2009年06月12日 16:32
  • 1445

C#中对"Cross-thread operation not valid"错误的权宜之计

Windows Forms 控件通常不是thread-safe(直接或间接继承于System.Windows.Forms.Control),因此.NET Framework为防止multithread...
  • michaellfd
  • michaellfd
  • 2010年11月16日 15:18
  • 990

[Unity3D]InvalidOperationException: out of sync

详细信息: InvalidOperationException: out of sync System.Collections.Generic.Dictionary`2+Enumerator[...
  • Kaitiren
  • Kaitiren
  • 2015年02月02日 16:02
  • 5484

C#报错:InvalidOperationException: out of sync

Dictionary.Enumerator enumerator = this.mMap.GetEnumerator(); while (enumerator.MoveNext()) ...
  • u011819804
  • u011819804
  • 2016年01月25日 17:08
  • 3572

【小松教你手游开发】【unity实用技能】InvalidOperationException: out of sync

在unity开发中出现这个bug。 在网上查了下是在迭代器中直接修改引起的。c#是不允许你在迭代器中直接修改。 改了一下确实解决。 原本是这样 public void Run() { ...
  • chrisfxs
  • chrisfxs
  • 2016年06月16日 14:53
  • 1902

用户代码未处理 invalidOperationException

今天下无用客户机器调试时出现这个异常,而且是微软封装好的ajax包中抛出此异常的。代码没有任何问题,因为客户机器上的代码是我从VSS上下来的,和我机器上的代码一样,而且.net framework 的...
  • haoxiang110
  • haoxiang110
  • 2010年10月20日 14:19
  • 3459

Unity在Dictionary中删除修改元素时出现InvalidOperationException: out of sync

用foreach来处理字典时出现这种错误,经调试,错误出现在我迭代时就用Remove删除这个元素,它和List一样,不能用foreach来删除元素,所以我们需要另想办法来删除, 解决办法: 定义一...
  • u010698150
  • u010698150
  • 2016年12月19日 10:19
  • 1073
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Cross-thread InvalidOperationException
举报原因:
原因补充:

(最多只允许输入30个字)