2011-09-14 50 views
8

使用C#Winforms,我有一個面板是顯示一些自定義控件。我可以將控件的實例添加到面板,如果太多,面板將滾動它們。C#winform刪除,然後將更多的項目添加到面板控件

myPanel.Controls.Add(myControl); 

在我開始從面板中刪除項目後,問題出現了。我使用:

myPanel.Controls.Remove(myControl); 
myControl.Dispose(); 

但是當我然後去更多控件添加到面板上,增加了新的不顯示在所有。

myPanel.Controls.Add(newControl); 

newControl或任何後續控件將不可見。

任何人都可以協助這個請,謝謝你提前。

+0

你能說明你創建這些newControl的方式嗎?你的刪除似乎是確定的,嘗試刪除對Dispose的調用,但真的應該也沒問題,所以我懷疑你創建的新控件不知何故未正確添加或創建... –

回答

8

您不清除面板。試試這個:

mypanel.Controls.clear(); 
+1

這似乎已修復它,謝謝你有這麼多。 – Craig

+0

是的,你必須清除面板首先添加更多的其他控件或用戶控件。然後只有它會正確顯示各個控件 – Dotnet

相關問題