Fermeture de la feuille mdi child [Résolu]

edokt 137 Messages postés mercredi 12 janvier 2005Date d'inscription 30 septembre 2008 Dernière intervention - 4 déc. 2005 à 14:51 - Dernière réponse : edokt 137 Messages postés mercredi 12 janvier 2005Date d'inscription 30 septembre 2008 Dernière intervention
- 4 déc. 2005 à 17:21
Salut à tous



Voila le problem que j'ai



J'ai une feuille mere et plusieur feuille enfants



pour fermer la feuille enfant j'ai code l'evenement closing ou je pose une question si on veut fermer la fenêtre ou pas



public void frm_Closing(object sender, System.ComponentModel.CancelEventArgs e)

{






DialogResult dr = MessageBox.Show ("Voulez-vous
fermer?", "Fermeture...", MessageBoxButtons.YesNo
,MessageBoxIcon.Question ) ;

if (dr == DialogResult.No )

{

e.Cancel = true;

}



}



pour la feuille mere pareille j'ai codé l'evenement closing avec une seul diference que j'ai ajouté le controle de ACtiveMdiChild



DialogResult dr = MessageBox.Show ("Voulez-vous quitter
l'application?", "Fermeture...", MessageBoxButtons.YesNo
,MessageBoxIcon.Question ) ;

if (dr == DialogResult.Yes )

{


foreach ( frmDiag frm in this.MdiChildren )
//frmDiag mes feuille enfants

{


frm.frm_Closing(this, new
System.ComponentModel.CancelEventArgs () );



}



if (this.ActiveMdiChild != null)

{

e.Cancel = true;

return;

}

else

{

this.Dispose ();

Application.Exit ();



}





le problem qu j'ai c'est quand je ferme la feuille mere l'evenement
closing de la feuille enfants se declanche plus tot que l'evenement
closing de la feuille mere



En fait je vaut que quand on ferme la feuille enfant je pose une question

mais quand on ferme la feuille mere on pose plus la question de confirmation



Comme par exemple dans le word si on a plusier documents ouvert et on
essay de fermere l'apllication word , la confirmation de fermeture de
document est demandé sauf si on a fait de changements dans le documents
(la quaestion de sauvgarder le document , et sin on n'a pas fait des
changement dans le document il se ferme sans confirmation



je sais pas si j'arrive a expliquer le problem mais si vous avez des idees, merci de me les transmetre



Merci beacoup
Afficher la suite 

4 réponses

Répondre au sujet
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 4 déc. 2005 à 16:41
+3
Utile
J'ai mis l'exemple là : MDI : EXEMPLE DE GESTION DE LA FERMETURE SUIVANT QU'ELLE EST DEMANDÉE SUR L'ENFANT OU LE CONTENEUR

/*
coq
MVP Visual C#
*/
Cette réponse vous a-t-elle aidé ?  
Commenter la réponse de cs_coq
cs_coq 6366 Messages postés samedi 1 juin 2002Date d'inscription 2 août 2014 Dernière intervention - 4 déc. 2005 à 15:15
0
Utile
Salut,

Override WndProc et utilise le message WM_CLOSE.
Ca donne quelquechose de ce genre :

private const int WM_CLOSE = 0x0010;


protected override void WndProc(ref Message m)
{
if ( m.Msg == WM_CLOSE)
{
// code à executer sur la fermeture du formulaire MDIContainer.
}


base.WndProc (ref m);
}

/*
coq
MVP Visual C#
*/
Commenter la réponse de cs_coq
edokt 137 Messages postés mercredi 12 janvier 2005Date d'inscription 30 septembre 2008 Dernière intervention - 4 déc. 2005 à 15:47
0
Utile
Merci infiniment, COQ, pour la reponse



Comme je suis un debutant peut tu un peu detailler parce que j'ai pas
compris ou il faut mettre ce code dans la feille mere ou dans mdi
child??



si tu a un exemple ça fera plus facile pour moi à comprendre



merci beacoup
Commenter la réponse de edokt
edokt 137 Messages postés mercredi 12 janvier 2005Date d'inscription 30 septembre 2008 Dernière intervention - 4 déc. 2005 à 17:21
0
Utile
jet te remercie beacoup
Commenter la réponse de edokt

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.