Auch wenn ich wirklich nur das Einfügen kopiere, wenn es um Windows -Formulare geht
Der Code, den Sie gepostet haben, wird eigentlich nichts von selbst tun!
Zur Arbeit müssen die Ereignisse der MouseDown () und Mousemove () der Kontrolle mit diesen Methoden verdrahtet werden:
- Wählen Sie die Steuerung im Formular (PictureBox1).
- Klicken Sie im Bereich Eigenschaften (standardmäßig unten rechts) auf das Symbol "Lightning Bolt", um eine Liste der Ereignisse für dieses Steuerelement zu erhalten.
- Finde die
MouseDown
Zutritt und ändern Sie die Dropdown nach rechts davon nachpictureBox1_MouseDown
. - Finde die
MouseMove
Zutritt und ändern Sie die Dropdown nach rechts davon nachpictureBox1_MouseMove
.
Führen Sie nun es aus und ziehen Sie den PictureBox1 herum.
Bearbeiten: Hier finden Sie, wie Sie den Code für mehrere Steuerelemente funktionieren, wie in meinem Kommentar unten beschrieben.
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;
}