Laden...

Normale Fenstergröße eines maximierten Fensters bestimmen

Erstellt von Löwenherz vor 17 Jahren Letzter Beitrag vor 17 Jahren 1.854 Views
L
Löwenherz Themenstarter:in
58 Beiträge seit 2006
vor 17 Jahren
Normale Fenstergröße eines maximierten Fensters bestimmen

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!

K
56 Beiträge seit 2006
vor 17 Jahren

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.

E
265 Beiträge seit 2004
vor 17 Jahren

.NET 2.0: Form.RestoreBounds
.NET 1.1: Ich bin seit einem halben jahr auf der Suche 🙂

L
Löwenherz Themenstarter:in
58 Beiträge seit 2006
vor 17 Jahren

*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!