【发布时间】:2013-05-23 18:57:24
【问题描述】:
试图在运行时摆脱控制。我检查它的存在与
if (Controls.Contains(myControl))
它返回true,因为它里面的行是运行的
Controls.Remove(myControl);
但它出于某种原因返回:
System.NullReferenceException:对象引用未设置为对象的实例。
如果控件包含该控件,它怎么可能是空引用?
【问题讨论】:
-
发布的代码不足以显示问题。什么是 myControl,您是如何使用它的?顺便说一句,删除它不会释放控件。为此,请调用控件的 Dispose 方法,该方法也会将其从集合中删除。
-
我在运行时添加它,并想在运行时删除它。 Dispose 抛出相同的 NullReferenceException。
-
这可能是一个多线程问题,即另一个线程做了一些事情使您正在谈论的线程看起来行为不端?
-
请发布更多代码,这不足以确定问题所在。