winform界面闪退
我在登錄成功后跳轉(zhuǎn)到主頁面的時(shí)候,總是會(huì)閃退,調(diào)試發(fā)現(xiàn)調(diào)用這個(gè)ShowDialog之后,就會(huì)觸發(fā)主頁面的FormClosing
C# 窗體關(guān)閉時(shí)可以觸發(fā)的事件
FormClosing :在窗體關(guān)閉時(shí),FormClosing 事件發(fā)生。窗體關(guān)閉時(shí),此事件會(huì)得到處理,從而釋放與此窗體關(guān)聯(lián)的所有資源。如果取消此事件,則該窗體保持打開狀態(tài)。若要取消窗體的關(guān)閉操作,請(qǐng)將傳遞給事件處理程序的 FormClosingEventArgs 的 Cancel 屬性設(shè)置為 true。
FormClosed:在用戶或 Application 類的 Close 方法或 Exit 方法關(guān)閉窗體后,會(huì)發(fā)生 FormClosed 事件。若要防止窗體關(guān)閉,請(qǐng)?zhí)幚?FormClosing 事件,并將傳遞給事件處理程序的 CancelEventArgs 的 Cancel 屬性設(shè)置為 true。可以使用此事件執(zhí)行一些任務(wù),如釋放窗體使用的資源,還可使用此事件保存輸入窗體中的信息或更新其父窗體。
當(dāng)窗體顯示為模式對(duì)話框時(shí),單擊“關(guān)閉”按鈕(窗體右上角帶 X 的按鈕)會(huì)隱藏窗體并將 DialogResult 屬性設(shè)置為 DialogResult.Cancel。通過在窗體的 FormClosing 事件的事件處理程序中設(shè)置 DialogResult 屬性,可以在用戶單擊“關(guān)閉”按鈕時(shí)重寫分配給 DialogResult 屬性的值。
注意
在顯示為無模式窗口的 Form 上調(diào)用 Close 方法時(shí),不能調(diào)用 Show 方法使窗體可見,因?yàn)榇绑w的資源已被釋放。若要隱藏窗體然后又使其可見,請(qǐng)使用 Hide 方法。
?
如果窗體是多文檔界面 (MDI) 父窗體,則在引發(fā) MDI 父窗體的 FormClosing 事件之前將引發(fā)所有 MDI 子窗體的 FormClosing 事件。同樣,在引發(fā) MDI 父窗體的 FormClosed 事件之前,將引發(fā)所有 MDI 子窗體的 FormClosed 事件。取消 MDI 子窗體的 FormClosing 事件不能防止引發(fā) MDI 父窗體的 FormClosing 事件。但是,取消該事件會(huì)將作為參數(shù)傳遞給父窗體的 FormClosingEventArgs 類的 Cancel 屬性設(shè)置成 false。要強(qiáng)制關(guān)閉所有 MDI 父窗體和子窗體,請(qǐng)將 MDI 父窗體中的 Cancel 屬性設(shè)置成 false。
? ? private?void?Form2_FormClosing(object?sender,?FormClosingEventArgs?e)?? {?? DialogResult?result?=?MessageBox.Show("你確定要關(guān)閉嗎!",?"提示信息",?MessageBoxButtons.OKCancel,?MessageBoxIcon.Information);?? if?(result?==?DialogResult.OK)?? {?? e.Cancel?=?false;??//點(diǎn)擊OK }?? else? {?? e.Cancel?=?true;?? }?? }轉(zhuǎn)載于:https://www.cnblogs.com/wygm/p/5667412.html
總結(jié)
以上是生活随笔為你收集整理的winform界面闪退的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: OpenJ_Bailian——4115鸣
- 下一篇: 【转】jenkins 忘记admin用户