Mover un objeto en tiempo de ejecucion

15/12/2004 - 12:56 por Waldo | Informe spam
Hola, quiero mover un control (un picturebox) en tiempo de ejecucion y
resulta que cuando ya movi el mouse con el boton izquierdo presionado
comienza moverse aleatoriamente , aun cuando dejo el mouse quieto (siempre
con el boton izquierdo presionado claro).

Mas abajo adjunto el codigo.

Si se les ocurre algo o ya se han encontrado con esta situación, muchas
gracias.

Waldo.-

private System.Drawing.PointF punto = new System.Drawing.Point(0,0);

private void pb_MouseDown(object sender, System.Windows.Forms.MouseEventArgs
e)
{
if (e.Button == MouseButtons.Left)
{
punto.X = e.X - ((PictureBox)sender).Location.X;
punto.Y = e.Y - ((PictureBox)sender).Location.Y;
}
}

private void pb_MouseMove(object sender, System.Windows.Forms.MouseEventArgs
e)
{
// Left , Middle, None , Right
if (e.Button == MouseButtons.Left)
{
((PictureBox)sender).Location = new Point(e.X+(int)punto.X,
e.Y+(int)punto.Y);
Update();
}
}
 

Leer las respuestas

#1 Maycol Alvarez
18/12/2004 - 21:21 | Informe spam
usa en la clase del form una varinable Booleana:

private bool press = false;

y crea 2 rutinas para controlar los eventos MouseDown y MouseUp, en
MouseDown establece press a true y en mouseup a false y en la rutina que
controla el evento mouseMove coloca tu código dentro de la condición:

if (press) {

}

¡¡¡y listo!!!

Preguntas similares