Provocar Evento MouseEnter del Formulario

24/07/2005 - 22:01 por Aldo | Informe spam
Como puedo hacer desde un Boton.
Gracias
 

Leer las respuestas

#1 Leonardo Azpurua [mvp vb]
25/07/2005 - 06:29 | Informe spam
"Aldo" escribió en el mensaje
news:
Como puedo hacer desde un Boton.
Gracias



Hola, Aldo:

Normalemente no queremos "provocar un evento", sino ejecutar el mismo código
que se invoca cuando ese evento se produce.

Puedes hacer algo tan simple como:

Public Class Form1

Dim i As Integer = 1

Private Sub Form1_MouseEnter(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.MouseEnter
Me.Text = "El ratón ha entrado " & i & " veces."
i += 1
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
Form1_MouseEnter(sender, e)
End Sub
End Class

que funcionará, pero es "sucio", porque los argumentos que recibirá
Form1_MouseEnter cuando sea llamada desde Button1_Click, no son los
argumentos que cabe esperar en ese procedimiento. Hacer una cochinada como
esa compromete la evolución de la función.

En el caso del ejemplo, no necesitamos los argumentos, de manera que podemos
reescribir:

Public Class Form1

Dim i As Integer = 1

Private Sub ActualizarCuentaMouse()
Me.Text = "El ratón ha entrado " & i & " veces."
i += 1
End Sub

Private Sub Form1_MouseEnter(ByVal sender As Object, _
ByVal e As System.EventArgs) Handles Me.MouseEnter
ActualizarCuentaMouse()
End Sub

Private Sub Button1_Click(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles Button1.Click
ActualizarCuentaMouse()
End Sub
End Class

Es decir, mueves la funcionalidad asociada con el evento a una función
independiente, y luego la llamas desde donde la necesitas.

Salud!

Preguntas similares