Foro de elhacker.net

Programación => .NET (C#, VB.NET, ASP) => Mensaje iniciado por: NetJava en 25 Noviembre 2011, 13:46 pm



Título: Controlar eventos de un panel en tiempo de ejecución.
Publicado por: NetJava en 25 Noviembre 2011, 13:46 pm
Hello!

Tengo un problemilla, estoy creando en tiempo de ejecución varios panels y perfect, pero a la hora de controlar y diferenciar el evento 'Click' de cada uno de ellos, me vuelvo un poco loco.

Código:
''Un bucle donde voy creando cada uno de los panels y asigno las propiedades que corresponde.

ReDim Preserve pnl_s(int_i)
pnl_s(int_i) = New Panel


''Para el nuevo panel creado un evento.
AddHandler pnl_s(int_i).Click, AddressOf pnl_Click


''Aquí es donde creo que es donde hay que diferenciar de alguna manera XD
Private Sub pnl_Click(ByVal sender As Object, ByVal e As EventArgs)
        MsgBox("¿Qué panel soy?")
End Sub


Muchas gracias y Saludos!



Título: Re: Controlar eventos de un panel en tiempo de ejecución.
Publicado por: NetJava en 25 Noviembre 2011, 13:56 pm
Bueno, pues ya lo solucione, si lo llego a saber no comento y busco un poco más XD.

Código:

pnl_s(int_i).Name = "" & int_i

'' Se queda tal cual, pero convierto 'sender' en el control panel, y obtengo el nombre
''que previamente se le ha dado.
Private Sub pnl_Click(ByVal sender As Object, ByVal e As EventArgs)
        'MsgBox("Hola: ")
        Dim a = TryCast(sender, Panel)
        If a IsNot Nothing Then
            MessageBox.Show(a.Name)
        End If
End Sub

Y ya esta.

Saludos!!