Smobiler中Form窗體切換超出10次報錯--學中,可以解決窗口的關閉

問題

切換Form時,通過 show(Form);打開新窗體;再通過 this.Form.Close();關閉窗體,但是切換超出10次後,就會異常報錯。報錯提示:FormStackMaxCount exceed:10

解決

利用Show的回調關閉窗體this.Show(b,(obj,args)=>{this.Close();//回調事件在b關閉後觸發});
例如:
窗體a中寫代碼跳轉b,this.Form.Show(b,(obj,args)=>{this.Close();//回調事件在b關閉後觸發,this指a窗體});
窗體b中寫代碼跳轉c,this.Form.Show(c,(obj,args)=>{this.Close();//回調事件在c關閉後觸發,this指b窗體});
c頁面中執行this.Close(), c 這樣從c關閉時會執行回調中的方法關閉b,關閉a的

補充

窗體a跳轉窗體b,關閉窗體b刷新窗體a也可以通過Show的回調事件實現,例如:
a窗體中代碼寫
this.Form.Show(b,(obj,args)=>{
textbox1.Text=b.x;//將窗體b的參數x賦值給窗體a中textbox1的text });

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章