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...
  • LeoMaya
  • LeoMaya
  • 2006年12月26日 23:15
  • 2445

WinForm中Cross-thread operation not valid错误的解决方法

前一阵子写个小程序,画了一个Form,类名叫MainForm,程序里面还有一个TimerProcessor类,用于对System.Timers.Timer类的实例操作,由于Timer是在新线程中处理O...
  • hcj116
  • hcj116
  • 2012年07月21日 02:25
  • 797

InvalidOperationException was unhandled by user code

InvalidOperationException was unhandled by user codeAn exception of type 'System.InvalidOperationExc...

WPF的TextBox抛出InvalidOperationException异常:Cannot close undo unit because no opened unit exists.

最近遇到一个问题,应用使用过程中突然崩溃,查看dump发现异常信息如下:UI dispatcher has encountered a problem:无法关闭撤消单元,因为不存在已打开的单元。在  ...

asp.net 访问 access出现 ole_connection.ServerVersion引发了System.InvalidOperationException的解决

今天在一台电脑上使用asp.net访问access,出现了 ole_connection.ServerVersion引发了System.InvalidOperationException; 下...

System.InvalidOperationException: Connection must be valid and open

由于MySQL服务在长时间不连接之后断开了,断开之后的首次请求会抛出"System.InvalidOperationException: Connection must be valid and op...
  • hungzz
  • hungzz
  • 2016年10月08日 12:35
  • 289

C#之解决 未处理的“System.InvalidOperationException”类型的异常出现在 System.dll中...

今天在写一个C#端口扫描器,运行程序时,出现了以下的错误提示信息: 未处理的“System.InvalidOperationException”类型的异常出现在 System.dll 中。 ...
  • friendan
  • friendan
  • 2012年06月03日 17:04
  • 63523

C# ServerVersion = “Conn.ServerVersion”引发了“System.InvalidOperationException”类型的异常

SQL Server2012 服务器名称 导致 C# 连接数据库错误 开发环境 VS2013+Sql2012 使用公共静态类,来封装用于连接数据库的字符串,在执行Button时,你妈,简直是你妈不...
  • wuruie
  • wuruie
  • 2017年02月22日 22:05
  • 1039

Naive Bayes, KNN, Cross validation

  • 2016年11月21日 15:16
  • 159KB
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Cross-thread InvalidOperationException
举报原因:
原因补充:

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