2009-04-20 8 views
2

Ich erstelle ein einfaches Dialogfenster in C# und möchte mich daran erinnern, wo es platziert ist, damit ich später ein anderes an derselben Stelle öffnen kann (während des gleichen Anwendungslaufs) keine Notwendigkeit für Konfigurationsdateien etc). Ich kann leicht den Ort (ein Punkt) oder die Bounds (ein Rechteck) speichern, aber eine andere Form zum Erstellen Aufruf form.ShowDialog() setzt beides:Versuch, ein Dialogfenster zu machen, erinnere mich an seine letzte Position

Form form= new Form(); 

form.Location = ptSavedLocation; 
//now form.Location is correct 

form.ShowDialog(); 
//now form.Location is default again, and form is displayed where I don't want it. 

Wie kann ich die Form bekommen seine Lage zu respektieren (oder Bounds, oder eine andere geeignete Eigenschaft/Setter)? Vielen Dank!

+0

Vergessen Sie nicht, ob die gespeicherte Position im sichtbaren Bereich ist nach wie vor der * Strom * Anzeige zu überprüfen. Dies kann für Benutzer, z.B. bei der Arbeit mit Roaming-Profilen oder Remote-Desktop und anderen Bildschirmauflösungen (z. B. Home-Office) –

Antwort

4

Stellen Sie die Formularstartposition auf Manuell

z.

Form form= new Form(); 

form.StartPosition = FormStartPosition.Manual; 

form.Location = ptSavedLocation; 
//now form.Location is correct 

form.ShowDialog(); 
//now form.Location is default again, and form is displayed where I don't want it. 
+0

danke, das war, was ich gesucht habe. –

0

die Formen Set Startposition Eigenschaft auf Manuell

Verwandte Themen