none
Timer, Panel y Add New Button RRS feed

  • Pregunta

  • Hola.

        Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
            If Timer1.enabled Then
                Timer1.Stop()
            Else
                Timer1.Start()
            End If
        End Sub
    
        Dim Bttn As Button
        Private Sub NuevoButton()
            Bttn = New Button
            Bttn.SetBounds(0, 0, 50, 50)
            Panel1.Controls.Add(Bttn)
        End Sub
    
        Private Sub Timer1_Tick(sender As Object, e As EventArgs) Handles Timer1.Tick
            Dim tops As Boolean = False
            If Bttn.Top >= (Panel1.height - 50 * Panel1.Controls.Count) Then
                tops = True
                If Bttn.Top = 0 Then
                    tops = False : Timer1.stop()
                End If
            Else
                Bttn.Top += 50
            End If
            If tops AndAlso tops Then
                NuevoButton()
            End If
        End Sub

    El código anterior crea un nuevo Button en un Panel y va descendiendo hasta llegar abajo del Panel. Cuando esto ocurre, se crea otro nuevo Button y va descendiendo hasta que se topa con el Button que ya existe. Así hasta que se llena el Panel con Buttons apilados verticalmente.

    Mi pregunta es, que puedo hacer si elimino uno o varios Buttons que están en medio de la columna de Buttons, los que estén por encima de los ya eliminados bajen automáticamente hasta quedar encima de los de abajo que no he eliminado?

    Muchas gracias por las respuesta que puedan ofrecer.

    lunes, 6 de abril de 2015 23:40