none
Agregar un control y ejecutar evento al hacer click sobre este

    Pregunta

  • Como dice el titulo,  tengo un flowlayoutpanel, quiero agregarle controles en tiempo de ejecución ya sean paneles o botones y que al hacer clip sobre estos  me generen algún evento. por ejemplo quiero mostrar un listado de mis clientes, pero que al hacer click en esos botones o paneles de mis clientes, me muestre los detalles. es un ejemplo de lo que quiero hacer.



    Alexander Jimenez

    viernes, 26 de agosto de 2016 17:57

Respuestas

  • Hola AJ Designs,

    Cuando creas los controles en tiempo de ejecución, tienes que agregarle un Handler hacia el evento que desees que se genere. Y ese mismo método creado le asignas a los demás botones, hací usando el sender obtienes el control que hizo el evento.

        Dim i As Integer = 0
        Dim espacio As Integer = 0
    
        Private Sub btnAgregarBtn_Click(sender As Object, e As EventArgs) Handles btnAgregarBtn.Click
    
            Dim btn As New Button
            'Algunas propiedades
            With btn
                .Name = "btnName" & i
                .Width = 30
                .Height = 23
                .Text = "b" & i
                .Location = New Point(espacio, 0)
                RemoveHandler .Click, AddressOf hizoClick 'Eliminamos el handler si existe
                AddHandler .Click, AddressOf hizoClick 'Agregamos el handler al evento Click
            End With
    
            Me.Controls.Add(btn)   'Agregamos el control al form
    
            i += 1
            espacio += 35
        End Sub

    Teniendo como resultado :


    Y cuando presiones algún botón, mediante el sender obtenemos el Button que hizo click.

       Private Sub hizoClick(sender As Object, e As EventArgs)
            'Obtenemos el botón que hizo click
            Dim btn As Button = TryCast(sender, Button)
            MessageBox.Show(btn.Name & " - " & btn.Text)
        End Sub

    Teniendo el control ya puedes tener acceso a todas sus propiedades.

    Y si hago click a un botón cualquiera :

    Espero te ayude.

    Saludos.


    JC NaupaCrispín
    Lima - Perú

    La magia no existe, la programación SI

    • Marcado como respuesta AJ Designs domingo, 28 de agosto de 2016 15:59
    viernes, 26 de agosto de 2016 18:41