Los foros del Guille

Si no encuentras respuesta, puedes buscar en el sitio del Guille

Google
 

elGuille.hosting: La oferta recomendada:
.NET 2.0, SQL Server, 1200MB, 10GB transf. por 9.95 Euros al mes

Selecciona el foro y pulsa en mostrar:     Mostrar 
De tu interés (algunos de los avisos publicados)

20/Oct/2006
Repetimos: ya que de vez en cuando es bueno que sepas que cosas te facilitarán las respuestas:
-No repitas mensajes,
-Intenta escribir un asunto adecuado a tu duda,
-No personalices (no indiques el nombre de quien quieres que responda),
-Explica bien tu duda, ten en cuenta que el que lee no puede leer tu mente y necesita saber todo lo que tu sabes para poder ayudarte.
Gracias.

  Foro: .NET VB Cantidad:  Desde:   Hasta:    Aplicar   Responder 
Respuestas a: 51805 - For Each termina antes de tiempo
IDAsuntoFechaNick 
51805 For Each termina antes de tiempo12/02/10 22:32Mauro Luque   
Hola a todos, les explico mi situación:

Estoy haciendo un User Control y dentro del mismo hay una serie de botones personalizados (que son otros User Control) que mediante código, los muevo individualmente a un panel donde se pueden mover con el mouse. En este panel también hay un PictureBox.
Agregué una funcionalidad para retornar todos los botones, que están en el panel, a su posición original, para esto use un For Each, este es el código en VB.net 2008:

Private Sub
     ResetearTodo(ByVal elControl As Control) 'elControl es el
     contenedor de los demás controles
        Dim ctrl As Control
        For Each ctrl In elControl.Controls
            If TypeOf
                 (ctrl) Is EllipticalButton.EllipticalButton Then 'EllipticalButton es el
                 control personalizado que se mueve y tiene que retornar a su posición original
                controlSeleccionado = CType(ctrl,
                     EllipticalButton.EllipticalButton)
                
                ResetearPosicion() 'Esta funcion utiliza a controlSeleccionado
            End If
        Next
    End Sub

El problema es que sólo la mitad de los EllipticalButton son movidos, haciendo un paso a paso por el For Each, puedo ver que cuando llega al PictureBox, sale del bucle, aunque no sé si eso tendrá algo que ver.
Anteriormente no usaba un panel, usaba el PictureBox solo y andaba bien, pero tengo que usar el panel si o si ahora, alguien tiene idea de que puede estar pasando?

[Editado: Mauro Luque, 12/02/2010 22:33:10]
[Mauro Luque, 12/02/2010 22:36:07]
IDAsuntoFechaNick 
52062 Re: For Each termina antes de tiempo (Resp: 51805)07/03/10 02:11luis1952   
Hola.
El problema puede estar en que al quitar el control dentro del bucle, elControl.Controls tiene uno menos. El boton siguiente pasa acupar el lugar del borrado por lo que se lo salta.

Si es esto deberia saltarse tantos como mueve


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.
IDAsuntoFechaNick 
52063 Re: For Each termina antes de tiempo (Resp: 52062)07/03/10 03:45Mauro Luque   
Ya entendí!! Muchas gracias, igual ya cambié la forma de meter y sacar los botones jeje pero esto sirvió para aprender un poco mas!
Un saludo!


Si esta respuesta resuelve tu duda, por favor pulsa en la de este mensaje. Gracias.

 
(c) Guillermo 'guille' Som, 2005-2010  - foros.elGuille v1.0.5.3 (23/Mar/2009 14:50 GMT +1)  - (ASP.NET 2.0 v2.0.50727.1433)
 
Usuarios activos: 258 - App. iniciada: 9/9/2010 1:11:11 AM GMT - La hora GMT del servidor es: 10/09/2010 04:16:15 GMT