Wie nehme ich ein Formular, das momentan minimiert ist, und stelle es in seinen vorherigen Zustand zurück. Ich kann keinen Weg finden zu bestimmen, ob sein vorheriges WindowState
% war Normal
oder Maximized
; aber ich weiß, dass die Informationen irgendwo gespeichert werden müssen, weil Windows kein Problem mit Apps in der Taskleiste hat.
Dafür gibt es keine verwaltete API. Der Weg dazu ist PInvoke GetWindowPlacement und prüfen Sie auf WPF_RESTORETOMAXIMIZED
.
Weitere Informationen finden Sie in diesem Microsoft-HowT (in dem die Technik in VB demonstriert wird).
In C # wäre dies:
%Vor%Sie haben auch:
%Vor%Ah, ich habe die Frage falsch verstanden:
Wiederherstellen von WindowState von Minimized sollte das sein, wonach Sie suchen. Es besagt, dass Sie das Verhalten der Taskleiste wie folgt nachahmen können:
%Vor%Sie können die Änderungen des Fensterstatus durch das Resize-Ereignis verfolgen. So:
%Vor% Wenn Sie den vorherigen Zustand bei jeder Änderung speichern (maximieren / minimieren) möchten, müssen Sie sich an das Ereignis SizeChanged
gemäß diesen Beitrag auf MSDN . Sie können das WindowState
dort abrufen und speichern.