程序运行后,点击窗口最小化或者切换到其他的应用程序界面去,过一段时间(几分钟到几十分钟不等)不操作它,再切换回去,就无法恢复显示窗口。只能通过任务管理器去结束进程才可以关闭程序,这到底是怎么一回事呢?内存占用率也不高跪求高人指点迷津,或者说说造成这种情况的可能性?补充说明,普通的Winfrom程序。里面用了evpress.XtraGrid控件系列,多线程等技术,但最小化或切换到后台运行时,系统根本没有做任何额外操作。
解决方案 »
- 可以在TableLayoutPanel控件的指定行与列添加按钮吗?
- aspx页面textbox无法输入
- listview求协助
- UDP通信问题
- 参数传递问题
- vs2003的datagrid编辑时候取得TEXTBOX里的值,但是不能用索引,请高手帮忙,感激不尽,老大催的急啊
- 请问:为什么 string s1,s1=null; fun1(ref s1);fun2(ref s2);不行?但是改为string s1=null;string s2=null;就可以了?
- RFID与应用系统如何对接
- 已知窗体句柄,怎么获取其他窗体中控件的文本值,比如获取QQ联系人列表中鼠标选中的人名称
- 一个简单的类问题!看看这两个类有何不同?
- 简单的事件、委托代码无法编译通过
- C# Dev控件 XtraTreeList如果找不到父节点,则不显示子节??
SystemEvents类的,
_syncContext.Send(new SendOrPostCallback(InvokeCallback), args); 每次报错,都停在这句
异常信息:cannot evaluate expression because the current thread is in sleep,wait,or join。
求解
我的是运行10分钟后,关闭程序就弹。
后来发现症结了,是因为调用的后台线程还在跑,前台程序关闭,卸载后台线程的时候,线程还在Thread.Sleep
就是相差1毫秒,都弹错,后台线程又不能单步,头疼啊。后来我修改了监控类,继承了IDisposable并重写的Dispose()方法,加了一句threadRun.DisableComObjectEagerCleanup();,就一直相安无事了(threadRun是我的后台线程)
当时是怎么解决的呢?
说说,虽然本质没有找到
是删除了一句这样的代码 xxx.dispose();
估计跟多线程和资源释放有关系。