C#跨线程访问控件运行时错误,使用MethodInvoker即可解决:
原代码:
- private void btnOK_Click(object sender, EventArgs e)
- {
- tslInfo.Text = "请稍候...";
- Thread td = new Thread(new ThreadStart(run));
- td.Start();
- }
- /// <summary>
- /// 线程方法
- /// </summary>
- private void run()
- {
- this.tslInfo.Text = "就绪";
- }
- private void btnOK_Click(object sender, EventArgs e)
- {
- tslInfo.Text = "请稍候...";
- Thread td = new Thread(new ThreadStart(threadRun));
- td.Start();
- }
- /// <summary>
- /// 原线程方法
- /// </summary>
- private void run()
- {
- this.tslInfo.Text = "就绪";
- }
- /// <summary>
- /// 线程方法
- /// </summary>
- private void threadRun()
- {
- MethodInvoker In = new MethodInvoker(run);
- this.BeginInvoke(In);
- }