【问题标题】:C# dispose of controlC# 处理控制
【发布时间】:2013-05-23 18:57:24
【问题描述】:

试图在运行时摆脱控制。我检查它的存在与

if (Controls.Contains(myControl))

它返回true,因为它里面的行是运行的

Controls.Remove(myControl);

但它出于某种原因返回:

System.NullReferenceException:对象引用未设置为对象的实例。

如果控件包含该控件,它怎么可能是空引用?

【问题讨论】:

  • 发布的代码不足以显示问题。什么是 myControl,您是如何使用它的?顺便说一句,删除它不会释放控件。为此,请调用控件的 Dispose 方法,该方法也会将其从集合中删除。
  • 我在运行时添加它,并想在运行时删除它。 Dispose 抛出相同的 NullReferenceException。
  • 这可能是一个多线程问题,即另一个线程做了一些事情使您正在谈论的线程看起来行为不端?
  • 请发布更多代码,这不足以确定问题所在。

标签: c# controls dispose


【解决方案1】:

我猜Controls 是变成Null 的变量,因为 Controls.Remove 没有声明它会抛出 Null。

the MSDN

Controls 实际上是一个属性获取器吗?返回值取决于页面生命周期状态还是会话状态?

【讨论】:

    猜你喜欢
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-20
    • 1970-01-01
    • 2019-06-19
    • 1970-01-01
    • 2014-05-10
    相关资源
    最近更新 更多