执行 CreateHandle() 时无法调用值 Dispose()。
来源:互联网 发布:java课程设计黑白棋 编辑:程序博客网 时间:2024/05/24 07:01
在多线程C#开发中,遇到错误 执行 CreateHandle() 时无法调用值 Dispose()。,这个错误是在关闭窗体的时候出来的。 原因是因为窗体还存在CreateHandle()事件,所以还不能回收垃圾。 当前窗体的句柄Handle还没有创建完成
所以不能直接进行关闭操作,变通的实现方法如下:
这样,在正式版关闭的时候,错误就被try掉了。
第二种方法是:
在closing里面加上
所以不能直接进行关闭操作,变通的实现方法如下:
protected override void OnVisibleChanged(EventArgs e) { base.OnVisibleChanged(e); if ( !IsHandleCreated) { this.Close(); } }
也可以重写 OnShown 或者在 Shown 事件响应中写。
第一种方法是:
既然swf里里面的东西对外部没有什么影响,那他报错就报错,在closing里面加加上
1
2
3
4
5
6
7
8
9
10
try
{
axShockwaveFlash1.Dispose();
}
catch
(System.Exception ex)
{
}
这样,在正式版关闭的时候,错误就被try掉了。
第二种方法是:
在closing里面加上
1
2
myThread.Abort();
this
.Controls.Clear();
- 执行 CreateHandle() 时无法调用值 Dispose()。
- Effective C#原则:调用Dispose()方法
- c# 调用showDialog后需要Dispose
- C# 调用showDialog后需要Dispose
- shell调用mapreduce无法执行后续脚本问题
- Android调用相机无法执行onActivityResult或data为null
- crontab执行任务调用shell脚本,相对路径无法找到
- Android调用相机无法执行onActivityResult或data为null
- 是否需要手动执行DataContext的Dispose方法?
- 是否需要手动执行DataContext的Dispose方法?
- 不要忘记在showdialog后为WinForm对象调用Dispose
- 确保调用对象的Dispose()方法的两种方式
- 控件dispose后不能再调用其任何方法
- 建议48:Dispose方法应允许被多次调用
- 执行sudo命令时无法解析主机
- asp调用Word.Application或Excel.Application无权限(无法执行server.createobject("Word.Application"))
- [Shell]crontab 执行任务调用shell脚本,相对路径无法找到
- viewPagerFragment的子fragment的onActivityResult()无法执行调用问题解决方案
- onSaveInstanceState和onRestoreInstanceState触发的时机
- iOS/Objective-C字符串NSString操作总结20130608更新
- DSS Source Code Analyse (20) - HttpProxy
- DSS Source Code Analyse (21) - Filter
- 闯与创
- 执行 CreateHandle() 时无法调用值 Dispose()。
- DSS Source Code Analyse (22) - AV Data Cache
- 徒手打造一款PK 名片全能王 的名片识别应用--名字篇之(如何100%准确提取名字)
- DSS Source Code Analyse (23) - OSHashTable
- DSS Source Code Analyse (24) - OSHeap
- 移植at91sam9260从norflash启动
- DSS Source Code Analyse (25) - OSQueue
- DSS Source Code Analyse (26) - OSRef
- iOS常用代码总结