2011-09-14 40 views
8

Usando C# Winforms, tengo un panel que debe mostrar algunos controles personalizados. Puedo agregar instancias de los controles al panel y si hay demasiados, el panel los desplazará.C# winform eliminar y luego agregar más elementos a un control de panel

myPanel.Controls.Add(myControl); 

El problema surge después de que empiezo a quitar elementos del panel. Estoy usando: sin embargo

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

cuando vaya a continuación, añadir más controles al panel, los nuevos agregados no se muestran en absoluto.

myPanel.Controls.Add(newControl); 

newControl o cualquier control posterior no estará visible.

¿Alguien puede ayudar con esto por favor, gracias de antemano.

+0

¿Puede mostrar la forma en que está creando esos newControl (s)? su eliminación parece estar bien, intente eliminar la llamada a Dispose, pero en realidad debería estar bien también, así que sospecho que los nuevos controles que creó de alguna manera no se han agregado o creado correctamente ... –

Respuesta

8

No está despejando sus paneles. Pruebe esto:

mypanel.Controls.clear(); 
+1

Eso parece haberlo arreglado, gracias usted siempre mucho. – Craig

+0

Sí, primero debe borrar el panel para agregar algunos otros controles o controles de usuario. Entonces solo mostrará los controles respectivos correctamente – Dotnet

Cuestiones relacionadas