簡體   English   中英

處置TabPage控件及其控件

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM