C# Steuerelemente Bewegen

kiname

Cadet 3rd Year
Registriert
Nov. 2014
Beiträge
56
Hallo,

ich möchte einen Button mit der Maus per Drag and Drop bewegen.
Als Ansatz habe ich folgendes... was mache ich falsch? wird das "OnMouseMove" Event nicht ausgeführt wenn ein Button meiner Maus gleichzeitig gedrückt wird? ich bekomme nichteinmal die MessageBox zu sehen
Code:
private Button PressedButton = null;
private Boolean mouseDown = false;

//der button erhällt die Events
            button1.MouseDown +=new MouseEventHandler(stein_MouseDown);
            button1.MouseUp +=new MouseEventHandler(stein_MouseUp);

//das sind die Eventmethoden und die OnMouseMove Methode
        void stein_MouseDown(object sender, MouseEventArgs e)
        {
            PressedButton = (Button)sender;
            mouseDown = true;
        }

        void stein_MouseUp(object sender, MouseEventArgs e)
        {
            mouseDown = false;
            PressedButton = null;
        }

        protected override void OnMouseMove(MouseEventArgs e)
        {
            base.OnMouseMove(e);

            if (mouseDown)
            {
                MessageBox.Show("test");
                PressedButton.Location = new Point(e.X - (PressedButton.Bounds.Width / 2), e.Y - (PressedButton.Bounds.Height / 2));
                drawPlayground(g);
            }
            
        }
laut meiner logic sollte ich auf den button klicken können, ihn dann mit der maus verschieben und dann die maus loslassen. Also wie drag&drop.
Es gibt aber nicht mal die messagebox aus.

Lg Kiname
 
Drag & Drop wird leider nicht so einfach, aber das wirst du schon merken. :)

Deine Funktion "OnMouseMove(MouseEventArgs e)" müssten schon im Button sein damit das funktioniert.

füge hinzu:
Code:
button1.MouseMove +=new MouseEventHandler(stein_MouseMove);

und ändere die Funktion in
Code:
private void stein_MouseMove(object sender, MouseEventArgs e) {
  if (mouseDown) {
    ..

BTW: Besser zum schnellen Debuggen:
Code:
Console.WriteLine("Hallo Welt");

Edit: Doch gar nicht so schwer als Drag & Drop, siehe Anhang.
 

Anhänge

  • ButtonMove.zip
    10,8 KB · Aufrufe: 83
Zuletzt bearbeitet:
Zurück
Oben