[英]Disposing a TabPage control and its controls
我的應用程序使用TabControl
來顯示數據,每當用戶要求數據時,應用程序將創建一個包含許多控件( PictureBox
控件, Label
控件等)的新TabPage
。 用戶將在某個時候關閉完成工作的TabPage
控件。 現在這里的問題是已關閉的TabPage
控件,它們將堆積在內存中,導致程序占用內存的很大一部分。 從TabControl
中刪除TabPage
控件不會對其進行處置,也不會對其進行處置,它只是將其隱藏,但該控件仍掛在內存中。
我用來刪除TabPage
的代碼是這樣的:
tabControl.TabPages.Remove(myTabPage);
myTabPage.Dispose();
問:如何完全擺脫TabPage
控件?
您可以每次都通過與其關聯的選項卡控件進行迭代,並將其循環放置。
tabControl1.TabPages[0].Controls[i].Dispose();
調用myTabPage.Dispose()應該處理TabPage及其子級的資源。 但是,即使這些對象沒有被其他對象引用,GC也不一定會立即釋放這些對象使用的內存。
在內存很大的計算機中,GC往往很懶。 只要稍后再釋放內存,例如幾分鍾后,您就不必擔心。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.