PDA

View Full Version : [c# - System.Drawing.Graphics] Aggiornare posizione di un rettangolo


0rph3n
06-06-2006, 15:04
Ciao a tutti,
non riesco a far si che un rettangolo che disegno dentro un PictureBox segua il cursore del mouse quando questo si muove appunto sul PictureBox!
Questo è il codice che modifica la posizione del rettangolo e che dovrebbe richiamare il metodo Paint del PictureBox per aggiornare il disegno:
void pictureBoxTavola_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
rectangleCursor.Location = new System.Drawing.Point(e.X, e.Y);
this.Invalidate(pictureBoxTavola.Region);
}


Questo invece è il codice che disegna il rettangolo:
void pictureBoxTavola_Paint(object sender, System.Windows.Forms.PaintEventArgs e)
{
e.Graphics.DrawRectangle(new System.Drawing.Pen(System.Drawing.Color.Red, 1), rectangleCursor);
}

e questa è la dichiarazione del rettangolo:
System.Drawing.Rectangle rectangleCursor = new System.Drawing.Rectangle(1,1,200,200);

dove sbaglio? :confused:

Grazie, 'iao

0rph3n
06-06-2006, 15:18
void pictureBoxTavola_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
rectangleCursor.Location = new System.Drawing.Point(e.X, e.Y);
this.Invalidate(pictureBoxTavola.Region);
}

Ho risolto, scusate per il post inutile, sarebbe bastato fare un'altro paio di prove per capire che andava così:
void pictureBoxTavola_MouseMove(object sender, System.Windows.Forms.MouseEventArgs e)
{
rectangleCursor.Location = new System.Drawing.Point(e.X, e.Y);
this.pictureBoxTavola.Invalidate();
}

ma stavo perdendo le speranze di riuscirci!

'iao