c# winform中窗體切換後釋放及防止重複生成

問題1:窗體切換後如何關閉,並釋放資?c#

c# winform中,2個窗體,form1和form2,互相切換的時候執行微信

this.Hide();
Form2 form2 = new Form2();

form2.Show();

  

此時你會發現當Form2顯現時,Form1隱藏了,但當你關閉Form2時,其進程並無關閉。也就是說資源並無釋放!ide

我在網上查了不少的資料,不少都沒有解決,經過個人實驗後我發現:this

只要是 主窗口被關閉了,全部的資源都會釋放,orm

但在關閉從窗口時(Form2)時,資源並無釋放,此時能夠在Form2_FormClosed(object sender, FormClosedEventArgs e) 事件中加入以下代碼:對象

  Application.Exit();//通知全部消息終止,並在終止後關閉全部窗體,並釋放資源.blog

問題2:窗體不重複new窗體解決方案進程

方法一: 解決辦法:將創建的窗體設置爲靜態,使之在內存中唯一存在,每次單擊都調用內存中存在的對象。事件

public static Form2 F2 = null ; ////設置爲全局變量,以便其他窗體
if (F2 == null || F2.IsDisposed) 
{ 
F2 = new Form2(); 
F2.Show();//若是以前未打開,則打開。
} 
else 
{ 
F2.Activate();//以前已打開,則給予焦點,置頂。
}

  

方法二: 使用ShowDialog內存

C#中窗口打開是很是經常使用的方法,從一個界面聯查到另外一個界面,但怎樣才能控制打開的窗口不能被重複打開,能夠使用ShowDialog方法 而不是show方法

Newdialog d = new Newdialog();
d.ShowDialog();

  

想了解更多C#知識,請掃描下方公衆號二維碼

 

 

需加微信交流羣的,請加小編微信號z438679770,切記備註 加羣,小編將會第一時間邀請你進羣!

相關文章
相關標籤/搜索