Foros del Web » Programación para mayores de 30 ;) » .NET »

Eliminar controles dinamicamente

Estas en el tema de Eliminar controles dinamicamente en el foro de .NET en Foros del Web. Buenos dias, les escribo para hacerles la siguiente consulta: Tengo un monton de picturebox alojados en un panel. Al presionar un boton quiero que estos ...
  #1 (permalink)  
Antiguo 16/08/2011, 10:16
 
Fecha de Ingreso: abril-2010
Mensajes: 82
Antigüedad: 14 años, 6 meses
Puntos: 2
Pregunta Eliminar controles dinamicamente

Buenos dias, les escribo para hacerles la siguiente consulta:

Tengo un monton de picturebox alojados en un panel.
Al presionar un boton quiero que estos controles sean eliminados del panel (pero conservar el panel como contenedor). Lo que yo hago es lo siguiente:

For Each Obj In pPanelCentral.Controls
pPanelCentral.Controls.Remove(Obj)
Next

Sin embargo, yo tengo 5 controles sobre el panel y siempre me remueve 4....y no es que el que me deja es siempre el mismo, sino que es de manera aleatoria, siempre uno, no se elimina. Alguna idea??

Estoy haciendo algo mal??

Gracias por su tiempo, saludos
  #2 (permalink)  
Antiguo 16/08/2011, 10:27
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 8 meses
Puntos: 76
Respuesta: Eliminar controles dinamicamente

Me causo curiosidad por probar lo que digiste y efectivamente me ocurrio lo mismo, quedaron 2 picture sin eliminar.

Pero si haces esto (sin el ciclo)

Código C#:
Ver original
  1. panel1.Controls.Clear();

Funciona. Se eliminan todos.

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #3 (permalink)  
Antiguo 16/08/2011, 10:34
Avatar de jhonwilliams  
Fecha de Ingreso: marzo-2004
Ubicación: Copacabana - Colombia
Mensajes: 1.484
Antigüedad: 20 años, 8 meses
Puntos: 76
Respuesta: Eliminar controles dinamicamente

Si lo necesitas en un ciclo, esto te funciona.

Código C#:
Ver original
  1. while (panel1.Controls.Count > 0)
  2. {
  3.       foreach (Control item in panel1.Controls)
  4.       {
  5.            panel1.Controls.Remove(item);
  6.       }
  7. }

Pero es mas optimo hacerlo en una linea como te lo mostre en el mensaje anterior.

Saludos
__________________
Si mi respuesta te ha ayudado, agradezco que me regales unos puntos de Karma XD.

"Una mujer sería encantadora si uno pudiera caer en sus brazos sin caer en sus manos." (Ambrose Bierce)
  #4 (permalink)  
Antiguo 18/08/2011, 05:18
 
Fecha de Ingreso: abril-2010
Mensajes: 82
Antigüedad: 14 años, 6 meses
Puntos: 2
Respuesta: Eliminar controles dinamicamente

Muchas gracias por tu aporte. Ya lo probe y anda de maravilla.
Me quedo con el de una sola linea.

Saludos!!

Etiquetas: controles, dinamicamente
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 08:41.