Índice de la sección dedicada a .NET (en el Guille) Cómo... en .NET

¡Atrapa el botón!
Mover un control al mover el ratón sobre el.

Código para Visual Basic.NET (VB.NET)

Código para C Sharp (C#)


Publicado el 10/Ene/2004
Actualizado el 10/Ene/2004


Esta es una chorradilla que he visto en un programa hecho por Lars Johansson (TidySharp).
El tipo este en un formulario de esos "acerca de" tiene un botón al que no se le puede hacer click, al menos con el ratón, ya que pulsando la tecla Intro se cierra.
El tema es que al mover el cursor del ratón sobre el botón, éste se desplaza y cambia de sitio... curioso y... ¡a ver quién pulsa sobre el botón!

Aquí tienes el código para VB .NET y C#.

En ambos casos, se supone que el botón "a perseguir" se llama buttonOK y se le ha asignado el método mostrado al evento MouseMove.
En el caso de VB simplemente habría que añadir al final de la primera línea lo siguiente:
Handles buttonOK.MouseMove

En C#, habrá que crear el evento para ese botón con una línea como esta:
this.buttonOK.MouseMove += new System.Windows.Forms.MouseEventHandler(this.buttonOK_MouseMove);

 

Nos vemos.
Guillermo


Código para Visual Basic.NET (VB.NET)El código para VB .NET

Private Soid buttonOK_MouseMove(sender As Object, e As System.Windows.Forms.MouseEventArgs)
    Dim r As New Random()
    Dim x As Integer = CInt(Me.ClientRectangle.Right * r.NextDouble()) -30
    Dim y As Integer = CInt(Me.ClientRectangle.Bottom * r.NextDouble() )-10
    buttonOK.Location = New Point(x, y)
End Sub

 


Código para C Sharp (C#)El código para C#

private void buttonOK_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
    Random r = new Random();
    int x = (int)(this.ClientRectangle.Right * r.NextDouble() ) -30;
    int y = (int)(this.ClientRectangle.Bottom * r.NextDouble() )-10;
    buttonOK.Location = new Point(x, y);
}

 


la Luna del Guille o... el Guille que está en la Luna... tanto monta...