Même si je copie vraiment le collage en ce qui concerne les formulaires Windows
Le code que vous avez publié ne fera rien seul!
Pour travailler, les événements Mousedown () et MouseMove () du contrôle doivent être câblés à ces méthodes:
- Sélectionnez le contrôle sur le formulaire (PictureBox1).
- Dans le volet Propriétés (en bas à droite par défaut), cliquez sur l'icône "Lightning Bolt" pour obtenir une liste des événements pour ce contrôle.
- Trouvez le
MouseDown
Entrée et modifiez la liste déroulante à droite pourpictureBox1_MouseDown
. - Trouvez le
MouseMove
Entrée et modifiez la liste déroulante à droite pourpictureBox1_MouseMove
.
Maintenant, exécutez-le et faites glisser le PictureBox1 autour.
Edit: voici comment faire fonctionner le code pour plusieurs contrôles, comme indiqué dans mon commentaire ci-dessous.
bool isDragged = false;
Point ptOffset;
private void button1_MouseDown(object sender, MouseEventArgs e)
{
if (e.Button == MouseButtons.Left)
{
isDragged = true;
Button btn = (Button)sender;
ptOffset = new Point(btn.Location.X - Cursor.Position.X, btn.Location.Y - Cursor.Position.Y);
}
else
{
isDragged = false;
}
}
private void button1_MouseMove(object sender, MouseEventArgs e)
{
if (isDragged)
{
Point newPoint = Cursor.Position;
newPoint.Offset(ptOffset);
Button btn = (Button)sender;
btn.Location = newPoint;
}
}
private void button1_MouseUp(object sender, MouseEventArgs e)
{
isDragged = false;
}