Savoir si une form est au premier plan

Résolu
Utilisateur anonyme - 23 mars 2006 à 09:50
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 - 23 mars 2006 à 14:24
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

cs_fcolo Messages postés 201 Date d'inscription mercredi 8 février 2006 Statut Membre Dernière intervention 20 février 2007 2
23 mars 2006 à 11:42
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
3
Utilisateur anonyme
23 mars 2006 à 12:13
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.
0
Utilisateur anonyme
23 mars 2006 à 12:15
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.
0
Lutinore Messages postés 3246 Date d'inscription lundi 25 avril 2005 Statut Membre Dernière intervention 27 octobre 2012 41
23 mars 2006 à 14:24
Salut, essaye de voir si la propriété IsDisposed de ta forme peut t'aider.
0
Rejoignez-nous