报错:C#在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级。#

  • Post author:
  • Post category:其他



#学习多线程不合格的我遇到的问题,第一时间人麻了#


盲生打拳,先从报错上面分析BUG:

子线程调用了父线程创建的控件,这个问题的深入就要考虑线程同步的问题。


修改BUG:

在报错的控件引用使用如下方式即可解决(我是这样的)

if (this.InvokeRequired)

{

this.Invoke(new MethodInvoker(delegate

{

toolStripButton2.Visible = true;

toolStripButton1.Visible = true;

toolStripSeparator3.Visible = true;

toolStripSeparator1.Visible = true;

fileList.Visible = true;

toolStripLabel1.Text = “文件路径:”;

})); //委托函数的参数不加之前的定义

return;


带图讲解:



版权声明:本文为m0_52256117原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。