c# 中 碰到 “在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级。” 错误,如何解决?

情况如下:在C#winform中,我在主类form1的load方法中,调用子类Video的其中一个方法生成线程来载主窗体中生成一个视频窗口,视频窗口用的是panel,代码... 情况如下:在C# winform中,
我在主类form1的load方法中,调用子类Video 的其中一个方法生成线程来载主窗体中生成一个视频窗口,视频窗口用的是panel,
代码如下:
class form1

{
load()
{
Video video = new Video();
video.getdata(videolist, videosize, videocount, projecttime, videoplay);//这个用来传递参数
video.threadvideo();
}
}

子类如下:
class Video
{
public void threadvideo()//视频
{
ThreadStart Threadvideo1 = new ThreadStart(show);//创建视频线程
Thread Threadvideo = new Thread(Threadvideo1);
Threadvideo.Start();
}

public void show()
{
......................
Form1.pCurrentWin.Controls.Add(panel1);//就这个语句报错。 Form1.pCurrentWin指的是 FORM1
}
}

求高手解决,会报错 ”在某个线程上创建的控件不能成为在另一个线程上创建的控件的父级。“ 不要说用委托之类的,求详细解决代码方案。
展开
 我来答
hongfei357
2014-04-16 · TA获得超过285个赞
知道小有建树答主
回答量:384
采纳率:100%
帮助的人:215万
展开全部
Control.CheckForIllegalCrossThreadCalls = false;//控件去保护
追问
不好意思噢,这个方法解决不了,不过问题解决了,很感谢你的回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式