C#里时关闭子窗口时base.Dispose(disposing)报错

tengjige 2010-05-28 09:30:16
C#里时关闭子窗口时base.Dispose(disposing)报错:
Value Dispose() cannot be called while doing CreateHandle().
求各高手帮助解决!!!!
...全文
1254 6 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
tengjige 2010-05-28
  • 打赏
  • 举报
回复
谢了,给分。
tengjige 2010-05-28
  • 打赏
  • 举报
回复
谢谢,我先试一下
skep99 2010-05-28
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 tengjige 的回复:]
我是在子窗口的_FormClosing里Dispose的
在显示前怎么做?我是点击一个BUTTON显示的
private void button1_Click_1(object sender, EventArgs e)
{
Program.buttonid = 1;
Form2 form2 = new Form2();
form2.ShowDialog(this);
……
[/Quote]

在FormClosing里还没执行完,Dispose不掉的.
不用Dispose就可以了,gc帮你回收掉
tengjige 2010-05-28
  • 打赏
  • 举报
回复
我是在子窗口的_FormClosing里Dispose的
在显示前怎么做?我是点击一个BUTTON显示的
private void button1_Click_1(object sender, EventArgs e)
{
Program.buttonid = 1;
Form2 form2 = new Form2();
form2.ShowDialog(this);
}
只在此山中 2010-05-28
  • 打赏
  • 举报
回复
看:
OnLoad或者Form的Constructor里面调用Close或者Dispose是不安全的。
更好的做法是,在窗口显示以前,当发现需要关闭窗口的时候,throw一个特殊的Exception,然后在创建窗口的代码忠try...catch...
skep99 2010-05-28
  • 打赏
  • 举报
回复
楼主在哪里调用关闭的的子窗口?外面try catch下,贴代码

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧