Visual Basic.NET - Copiar el "EVENTO" existente de un control hacia un control nuevo

 
Vista:

Copiar el "EVENTO" existente de un control hacia un control nuevo

Publicado por Jorge Luis Sala (3 intervenciones) el 03/03/2013 07:05:37
Hola a todos. Luego de varias horas de buscar y buscar no puedo dar con la solución así que acá estoy generando un hilo nuevo.

Mi objetivo es simple (o pienso que debería serlo).

Necesito: Dado un control existente que contiene un handler al evento "Click", necesito crear un nuevo control (de distinto tipo) y asignarle en tiempo de ejecución el mismo handler al evento "Click" que contiene el primer control.

Si necesitan saber para qué quiero lograr esto se los explico, más si con esto es suficiente agradezco desde ya su ayuda.

Un abrazo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

Copiar el "EVENTO" existente de un control hacia un control nuevo

Publicado por Jorge Luis Sala (3 intervenciones) el 03/03/2013 21:48:55
Quiero agregar más información para hacer más entendible mi duda.

Tengo mi formulario principal con un MenuStrip repleto de Items y SubItems. Para facilitar las cosas al usuario quiero que, cuando éste haga clic con el botón derecho en uno de los items, se cree un "acceso directo" en la ventana principal, donde luego el usuario con un solo clic (sin tener que entrar en las ramificaciones de menúes y sub-menúes) acceda a sus opciones regulares.

Bien, sé cómo hacer todo excepto averiguar a qué método apunta originalmente el evento del ToolStripItem que fue clickeado. Muestro con código lo que me falta:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub Item_MouseUp(ByVal sender As System.Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles Cli_Resumen.MouseUp
        If e.Button = Windows.Forms.MouseButtons.Right Then
            Dim Boton As New Button
            With Boton 'Creo el nuevo boton y copio la imagen del item original
                .Left = 200
                .Top = 300
                .Width = 50
                .Height = 50
                .BackgroundImage = CType(sender, ToolStripMenuItem).Image
                .BackgroundImageLayout = ImageLayout.Center
            End With
 
            AddHandler Boton.Click, AddressOf ???? 'Acá está mi duda
 
            Me.Controls.Add(Boton)
 
        End If
    End Sub



Quiero usar este sólo procedimiento para todos los items del menú y no tener que hacerlo uno por uno. Espero haberme explicado ahora. Muchas gracias amigos :)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar
sin imagen de perfil
Val: 29
Ha aumentado su posición en 2 puestos en Visual Basic.NET (en relación al último mes)
Gráfica de Visual Basic.NET

Copiar el "EVENTO" existente de un control hacia un control nuevo

Publicado por apacheco (98 intervenciones) el 11/03/2013 12:47:17
Haz esto

AddHandler Boton.Click, AddressOf btCargar_Click

sustituye tu ????? por el evento que desees hacer, LA PARTE PROGRAMADA POR TI, LA QUE LLEVA EL GUION BAJO.

Tu tiene en el programa

Private sub Boton_Click(by..........) Handles Boton.Click


Inicializar_Pantalla


end sub


Private sub NuevoBoton_Click(By...........) Handles NuevoBoton.Click


AddHandler Boton.Click, AddressOf Boton_Click


end sub

Yo suelo hacerlo asi y me funciona
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar