c#中自定义控件控制线程时,两个控件间相互影响,怎么避免?

描述:我自己定义了一个控件组,里面一个实行按钮控制了五个线程;主界面上面并列有两个自定义控件A和B。单独点A的实行按钮或者B的实行按钮,都没有问题。如果点A的实行按钮后,A的线程组正在运行中,点击B的实行按钮,这个时候A的控件会报出:未定义实体对象的错误。 哪位大神可以指点下。

0

2个回答

具体错误要调试你的程序才知道。作为原则,要注意两个
(1)线程操作界面,用Control.Invoke(委托里操作界面)
(2)线程访问共享的对象或者变量,要用lock锁定再操作

0

既然单独运行A没问题,运行中点击B有问题,那么B按钮的线程中肯定有更改A线程对象的操作,看看里面共同用到了哪个对象,特别是B操作中设置A操作中对象可能为null的那种,不难检查出来

0
Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!