Hallo Leute 🙂
Ich knobel gerade an der Aufgabe rum, wie ich am besten die Abmessungen eines Forms speichern kann. Ich möchte einerseits den WindowState (Normal, Minimized, Maximized) speichern, als auch die Abmessungen des NICHT-maximierten Fensters, wenn das Fenster gerade im maximierten Modus ist. Rufe ich im Falle eines maximierten Fensters Control.Bounds() auf, so bekomme ich natürlich die maximierten Abmessungen, aber nicht die des normalen Fensters, das erscheint, wenn ich "maximiert" wieder wegnehme.
Bisher mache ich das so:
subkey.SetValue("Windowstate", (int) WindowState);
WindowState = FormWindowState.Normal;
subkey.SetValue("Bounds (x)", Bounds.X);
subkey.SetValue("Bounds (y)", Bounds.Y);
subkey.SetValue("Bounds (cx)", Bounds.Width);
subkey.SetValue("Bounds (cy)", Bounds.Height);
Der Wermutstropfen ist nun aber, dass das Fenster sich erstmal sichtbar in den Normal-Modus fährt, bevor es sich schließt... und das ist irgendwie unnötig.
Wie komme ich denn sonst noch an die normale Fenstergröße eines maximierten Forms oder allgemein Controls?
Vielen Dank!
ich bin gerade mal die komplette liste durch gegangen habe aber leider auch nichts gefunden wo mit man die proportionen auslesen kann, die das Form während des normalen Fensterzustand hat.
wenn du das eh beim schliessen machst könntest du ja die Form evtl. vorher mit this.Hide ausblenden. Klar ich weiss das das nicht das ist was du suchst. aber vielleicht gefällt dir die löscung dann etwas besser.
Was mir gerade auch noch eingefallen ist... Was ist denn wenn du diese Werte schon beim Resize Event speicherst. Dort könntest du prüfen ob der WindowState normal ist und dann die Werte weg speichern.
.NET 2.0: Form.RestoreBounds
.NET 1.1: Ich bin seit einem halben jahr auf der Suche 🙂
*lol*
Dann ist es ja kein Wunder, dass ich auch nichts gefunden habe g Aber ich steige demnächst um auf Visual Studio 2005 und dann gibt es auch .NET 2.0 mit der passenden Methode. Juchuu 🙂
Danke!