Savoir si une form est au premier plan

[Résolu]
Signaler
-
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
-
Bonjour,

Dans mon application j'ai plusieurs form dont une principale qui ne se ferme que quand l'application se ferme. En cliquant sur certains boutons de cette forme principale, on peut avoir acces aux autres forms, je les fais apparaitre avec la methode Show() puis les amene au premier plan avec la methode BringToFront(). Lorsque l'on quitte ces forms par la voie normale, aucun probleme, je les cache par la methode Hide(). Mon probleme est que si une form est quittee d'une autre facon (croix, ALT+F4...), mon application plante au niveau du BringToFront() quand je veux faire reapparaitre ma form.

Ma question est donc la suivante, y a t il un moyen de savoir si la form est deja au premier plan ? Ou alors existe t il une astuce pour empecher ce probleme ?

Merci.

4 réponses

Messages postés
201
Date d'inscription
mercredi 8 février 2006
Statut
Membre
Dernière intervention
20 février 2007
2
C'est quoi pour toi la voix normale si ce n'est pas la croix ou alt + f4?

J'ai pas très bien compris le problème en rapport à ton titre.
Vu comme ca, je dirais que lorsqu'on fait alt+f4 ou la croix, on ferme completement la form et tu ne peux plus la faire réapparaitre car elle n'existe plus.
En continuant dans cette direction, je te dirais d'intercepter le formclosing sur cette form pour annuler la fermeture et faire un hide() à la palce.


private
void newForm_FormClosing(
object sender, FormClosingEventArgs e)
{
e.Cancel=
true;
newForm.Hide();
}

Peut etre que je suis à coté de la plaque, faut voir avec d'autre explication ou d'autre réponse.

f.colo

Ce n'est pas tout a fait ca que je demandais mais la reponse me convient, je vais essayer ca et je vais voir si ca fonctionne.

Ce n'est pas tout a fait ca que je demandais mais la reponse me convient, je vais essayer ca et je vais voir si ca fonctionne. La voie normale c'est le bouton 'OK' qui enregistre les parametres et ferme la forme. J'arrive a recharger la forme si on clique sur la croix mais la form apparaitra alors en arriere plan (derriere ma form principale).

Merci quand meme, je remettrai un message pour dire si ca fonctionne mais je pense que ca devrait etre bon, merci.
Messages postés
3246
Date d'inscription
lundi 25 avril 2005
Statut
Modérateur
Dernière intervention
27 octobre 2012
39
Salut, essaye de voir si la propriété IsDisposed de ta forme peut t'aider.