当前位置:编程学习 > C#/ASP.NET >>

切换Form 10几次后出现stackoverflowerror异常~~急求解决办法

切换窗体代码如下: 

    RadioForm   radioform   =   new   RadioForm(); 
                                radioform.ShowDialog(); 
                                this.Close(); 

代码都是类似这样 


我在WM下真机测试,来回切换10几次窗体后会出现这个异常,是不是内存没释放的缘故?还是代码有问题?急求大家帮忙解决 --------------------编程问答-------------------- MDI窗体? --------------------编程问答-------------------- 怀疑内存问题的话可以手动Dispose一下看看 --------------------编程问答-------------------- 内存应该没问题的 --------------------编程问答-------------------- 关注下,如果是内存问题就写个垃圾回收进去看看还有问题没,不过逻辑上看不出和内存有关系…… --------------------编程问答-------------------- 应该不会吧,LZ多试几次 --------------------编程问答-------------------- TO LZ:

问题没描述清楚啊。“窗口来回切换10几次”太含糊了。
代码部分只是显示了一个对话框,然后关闭本身窗口。哪里来的多次切换?

“这个异常”是什么异常也没说清楚... --------------------编程问答-------------------- 不好意思,刚没看到是stackoverflowerror异常。

感觉到一种死循环调用的味道。
检查在窗口创建或者切换的时候是否存在死循环。 --------------------编程问答-------------------- 代码多一点。 --------------------编程问答-------------------- PS: 一种可能的死循环
A create B -》B create A -》A create B -》...stackoverflowerror --------------------编程问答-------------------- 死循环...

请检查代码执行的顺序, 设置个断点跟踪一下... --------------------编程问答-------------------- 学习
帮楼主顶下!!!!!!!!
接个分!!!!!!!!11111 --------------------编程问答-------------------- java抛出的异常???? --------------------编程问答-------------------- 问题解决了,我的代码没死循环,就是radioform.ShowDialog(); 这个方法的问题,执行这个方法后,之后的代码将不在执行,ShowDialog()的方法而是重建创建一个窗体显示出来而不是直接显示,改用SHOW()方法问题就解决了 --------------------编程问答-------------------- 创建一个窗体是RadioForm radioform = new RadioForm(); 完成的。
ShowDialog()和Show()都是显示窗体,只是模式对话框和非模式对话框的区别,
前者必须在对话框返回后创建它的窗体才能获得控制执行下面的代码。

单单是ShowDialog()是不会造成stackoverflowerror的...
补充:.NET技术 ,  C#
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,