zoukankan      html  css  js  c++  java
  • Cannot access a disposed object

    System.ObjectDisposedException: Cannot access a disposed object.

    Object name: 'XXXX'.

    今天写C#窗体遇到这样的问题,报错在Application.Run(new frmMain())处,经过查找,终于找到原因了。

    代码逻辑:假如有两个窗体A和B,A和B的TopMost均为true,A的Load事件中用ShowDialog模态打开B,,当B关闭窗体B时B的DialogResult为Cancel时关闭A。

    运行程序,如期打开的是窗体B,设置B.DialogResult为Cancel关闭窗体B,返回A的Load事件里,调用Close关闭窗体A,这时出错了,如题。原因就是因为B的TopMost为True,把B的TopMost改成false就好了。具体C#底层怎么执行的我不知道,但好像TopMost为True时要经过很特殊的处理。

    第一次写博客,分享一下

  • 相关阅读:
    001-进程与线程
    mysql优化(11)
    mysql优化(十)
    mysql优化(九)
    mysql优化(八)
    mysql优化(七)
    mysql优化(六)
    mysql优化(五)
    mysql优化(四)
    mysql优化(二)
  • 原文地址:https://www.cnblogs.com/yjh4866/p/1446904.html
Copyright © 2011-2022 走看看