< back

Form窗体切换超出10次报错

问题

切换Form时,通过 show(Form);打开新窗体;再通过 this.Form.Close();关闭窗体,但是切换超出10次后,就会异常报错。报错提示:FormStackMaxCount exceed:10

解决

利用Show的回调关闭窗体this.Show(b,(obj,args)=>{this.Close()});利用Show的回调关闭窗体this.Show(b,(obj,args)=>{this.Close();//回调事件在b关闭后触发});
例如:
窗体a中写代码跳转b,this.Form.Show(b,(obj,args)=>{this.Close();});窗体a中写代码跳转b,this.Form.Show(b,(obj,args)=>{this.Close();//回调事件在b关闭后触发,this指a窗体});
窗体b中写代码跳转c,this.Form.Show(c,(obj,args)=>{this.Close();});窗体b中写代码跳转c,this.Form.Show(c,(obj,args)=>{this.Close();//回调事件在c关闭后触发,this指b窗体});
c页面中执行this.Close(),
c 这样从c关闭时会执行回调中的方法关闭b,关闭a的

可下载此链接中附件

搜索关键词

FormStackMaxCount exceed