C# Form verplaats picturebox

Status
Niet open voor verdere reacties.

cuperus

Gebruiker
Lid geworden
2 nov 2010
Berichten
43
Beste mensen,

ik heb alweer een prbleempje! ik wil dus in C# een picturebox verplaatsen!
dit is de code die ik nu heb!

Code:
private void pictureBox1_Click(object sender, MouseEventArgs e)
        {
            // wanneer er op de picturebox wordt gedrukt met linkermuisknop
            if (e.Button == System.Windows.Forms.MouseButtons.Left)
            {
                // Positie van de picturebox moet andere positie verkrijgen in form
                testForm.Location = new Point(e.Location.X, e.Location.Y);
                this.Refresh();
                return;
            }
            else
            {
                return;
            }
        }

Het probleem is dat hij 2x picturebox laat zien (switcht heeel snel van ene punt naar het andere) wat kan ik hier het beste aan doen?
 
Hier is een mooie code:

http://blog.ninethsense.com/move-a-control-with-mose-on-form/

Je moet de events MouseMove en MouseDown aanmaken voor de picturebox, daarna zo maken:
PHP:
        private int x = 0, y = 0;

        private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
            {
                pictureBox1.Left = (pictureBox1.Left + e.X) - x;
                pictureBox1.Top = (pictureBox1.Top + e.Y) - y;
            }
        }

        private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
        {
            x = e.X;
            y = e.Y;
        }

En zo werkt het ook prima:
PHP:
        private int x = 0, y = 0;

        private void pictureBox1_MouseMove(object sender, MouseEventArgs e)
        {
            if (e.Button == MouseButtons.Left)
                pictureBox1.Location = new Point((pictureBox1.Location.X + e.X) - x, (pictureBox1.Location.Y + e.Y) - y);
        }

        private void pictureBox1_MouseDown(object sender, MouseEventArgs e)
        {
            x = e.X;
            y = e.Y;
        }

Succes =]
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan