2008-09-25 7 views
2

J'ai une application Windows et je veux enregistrer la taille, la position et WindowState entre les sessions. Il existe cependant une réserve. Si l'état à la fermeture est minimisé, alors je veux revenir au dernier état visible, c'est-à-dire Normal si c'était normal avant d'être minimisé ou agrandi s'il était maximisé.Comment obtenez-vous l'état auquel un formulaire (.net) sera restauré?

Y at-il une propriété, vérifiez, appelez-le faire?

Répondre

2

Voici un example sur la persistance du formulaire et l'enregistrement de l'état de la fenêtre entre les sessions. Comme pour sauvegarder l'état avant la minimisation de la fenêtre, c'est quelque chose que vous devez gérer vous-même en vous souvenant des deux derniers états de la fenêtre, il n'y a aucune propriété/événement qui peut le faire pour vous.

2

Vous pouvez utiliser les paramètres de l'application (portée de l'utilisateur) et lorsque l'événement Form_Closing est déclenché sur votre formulaire, vous pouvez choisir comment modifier les paramètres avant de les enregistrer avec Properties.Settings.Default.Save();

0

Vous pouvez vous «souvenir» de la position restaurée avant de réduire/maximiser.

Vous pouvez restaurer la fenêtre avant de sauvegarder la position, ceci a l'inconvénient de faire clignoter votre fenêtre avant de la fermer.

Ou vous pouvez appeler la fonction WinWind GetWindowPlacment via InterOp, il renvoie le rectangle restauré.

Questions connexes