Form vor "Verschieben" schützen
-
Gibt es eine Möglichkeit, mein Fenster (WinForms) für eine bestimmte Zeit, bzw. generell davor zu schützen, das der Anwender es verschiebt ?
Etwas wie
this.movability = false;
Oder muss ich evtl. für die Zeit in der ich das will immer wieder die .loaction auf einen Festen Punkt setzten ?
-
Die Koordinaten in der Klasse evtl. mit konstanten Werten versehen?
-
funzt leider nicht
-
-
Generell Verschieben brutal verhindern:
this.ControlBox = false; this.Text = "";
Vielleicht nicht schön, aber wirkungsvoll!
-
Warum willst du denn verhindern dass die Form verschoben wird? Ansich solle man das nicht brauchen.
-
berniebutt schrieb:
Generell Verschieben brutal verhindern:
this.ControlBox = false; this.Text = "";
Vielleicht nicht schön, aber wirkungsvoll!
Sorry aber das funktioniert nicht. Das blendet die Menüleiste aus, aber verschieben kann man trotzdem.
Warum ? Ja ich hab ne selbstgebaute MsgBox und will das die Mittig bleibt , sprich mir keiner das "hintere" Fenster wegzieht. Wird wohl in die Richtung aus dem Link bei Stackoverflow gehen, hätte gehofft es gibt ne "quick & dirrty" billig Lösung
-
Ginge nicht einfach "Form.ShowDialog" statt "Form.Show" ?
-
So, jetzt hat sich noch ein anderes kleines Problem dargestellt.
Ich möchte aus meiner Form heraus auf Eigenschaften der "aufrufenden" Form zugreifen. Sprich in meinem Time_Tick testen ob sich die Position der aufrufenden Form geändert hat , und dann meine Form nachjustieren.
Allerdings bring ich den Zugriff nicht wirklich hin. Wie muss ich dabei vorgehen ? form.partent.... führt immer zum Absturz...
-
Du musst das Parent ja erst setzen. Allerdings ist das ein bisschen was anders, mach es so:
FormChild child = new FormChild(); child.Show(this); //Setzt diese Form a Owner von FormChild //In FormChild geht dann string name = this.Owner.Name;
Entsprechend kannst du dann auch auf alle anderen Member der Form zugreifen.
-
Danke, so hab ichs hinbekommen!!
Du musst das Parent ja erst setzen. Allerdings ist das ein bisschen was anders
Wie würde das dann gehen ?
-
c#_newbie schrieb:
Wie würde das dann gehen ?
//In FormParent FormChild child = new FormChild(); child.TopLevel = false; child.Parent = this; child.Show();
Allerdings ist das Child dann auf der Form, kein eigenes Fenster. So in etwa wie manche Programme in einen Hauptfenster Unterfenster haben die du verschieben kannst.