Wird ein Ereignis in C # ausgelöst, wenn ein Fenster wiederhergestellt wird?

8

Gibt es ein Ereignis, das ausgelöst wird, wenn ein Fenster in C # /. NET wiederhergestellt wird?

Ich habe festgestellt, dass ein Ereignis ausgelöst wird, wenn ein Fenster aktiviert wird, aber ich kann kein entsprechendes Ereignis für ein Fenster finden, das wiederhergestellt wird, z. B. von einem maximierten oder minimierten Zustand.

    
Hali 04.01.2011, 14:40
quelle

7 Antworten

13

Wenn Sie die WindowState -Eigenschaft des Formulars nicht gerne verwenden und nicht ein Flag beibehalten möchten, das den vorherigen Zustand des Formulars angibt, können Sie dasselbe Ergebnis auf einer etwas niedrigeren Ebene erreichen.

Sie müssen die Fensterprozedur Ihres Formulars ( WndProc ) außer Kraft setzen und auf WM_SYSCOMMAND message zeigt SC_RESTORE an. Zum Beispiel:

%Vor%     
Cody Gray 04.01.2011 15:01
quelle
2

Sie können es auf diese Weise überprüfen:

%Vor%     
Ignacio Soler Garcia 04.01.2011 14:45
quelle
2

ziemlich unsicher. Sie müssten das Ereignis SizeChanged verarbeiten und feststellen, ob WindowState von Minimized in Normal oder Maximized in Normal geändert wurde. Quelle

    
quelle
1

Ich weiß, dass diese Frage ziemlich alt ist, aber es funktioniert so:

%Vor%

Die Verwendung des SizeChanged-Ereignisses, gekoppelt mit einer Überprüfung von WindowState, macht hier den Trick.

    
Redhart 23.01.2016 23:32
quelle
0

Überprüfen Sie:

%Vor%     
IvanVarus 08.05.2012 14:20
quelle
0

Die Antwort von Redhart ist gut. Das ist das Gleiche, aber etwas einfacher:

%Vor%     
Jan Heldal 21.04.2016 10:32
quelle
-2

Es ist einfach genug hinzuzufügen:

%Vor%

gehen Sie zu diesem Link winforms-windowstate-geändert-how-to-detect-this?

    
fasadat 16.09.2014 07:46
quelle

Tags und Links