[c#] Abfrage ob sich der Parent einer Form die Location geändert hat

Hale

Mitglied

Hey Leute,

ich stehe im Moment vor folgendem Problem:

Ich öffne eine Windows Form und übergebe ihr einen Parent, die Windows Form wird an den Parent angedockt. Wenn man den Parent bewegt oder die Größe ändert bleibt die Form immernoch angedockt.

Jedoch wenn ich nur die Form verschiebe möchte ich, dass das Docking sich auflöst.

Bis hierhin habe ich es soweit realisieren können, jedoch hebt sich das docking nun auch auf, wenn ich den Parent verschiebe, da ich auf dem LocationChanged-Event meiner Form dieses Verhalten habe.

In diesem Event möchte ich nun abfragen, ob sich die Location des Parents verändert hat oder nicht, wenn sie sich verändert hat soll nichts passieren, ansonsten soll die Form gelöst werden.

Der Schritt, bei dem ich eure Hilfe benötige ist nun lediglich die Abfrage ob sich die Location des Parents geändert hat oder nicht, da ich an diesem Punkt nicht weiter komme.

Vielen Dank für eure Hilfe.

Gruß
Hale
 
Zuletzt bearbeitet:
Hi

Ich wenn du das Event der Parent-Form abonnierst kriegst du die Info doch?!
Oder hab ich dein Problem nicht/falsch verstanden?
 
Hey Nico,

ich kann zwar die X- und Y-Koordinate meines Parents abrufen über:

Code:
parent.Location.X
parent.Location.Y

Allerdings möchte mein LocationChanged Event ca. so aufbauen

Code:
        private void Form_LocationChanged(object sender, EventArgs e)
        {
            if (Parent.Location.Changed == false && abgedockt == false)
            {
                abdocken();
                abgedockt = true;
            }
        }

Jedoch habe ich das Problem für diese Zeile den richtigen Ausdruck zu finden =(

>>Parent.Location.Changed == false<<

Ich bin am überlegen ob ich die Werte des Parents bei jedem Move des Parents in Variablen speicher und dann vergleiche ob die gleich geblieben sind, jedoch wäre mir eine andere Lösung lieber.

Grüße
Hale
 
Hi

Dann nochmal in anderen Worten ;)
Abonniere das LocationChanged-Event des Parent, dass erhälst du auch die Info, ob und wann sich dessen Position ändert
 
Zurück