IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Windows Forms Discussion :

changer le comportement de fermeture de la form


Sujet :

Windows Forms

  1. #1
    Membre régulier
    Étudiant
    Inscrit en
    Août 2008
    Messages
    349
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2008
    Messages : 349
    Points : 93
    Points
    93
    Par défaut changer le comportement de fermeture de la form
    bonjour,
    est ce qu'il y'a une possibilité que je change le comportement de fermeture d'une Form, en fait je veux donner la main à mon utilisateur pour qu'il puisse sauvegarder les changement s'il oublie de le faire.
    Merci d'avance.

  2. #2
    Membre actif
    Inscrit en
    Octobre 2007
    Messages
    236
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Octobre 2007
    Messages : 236
    Points : 233
    Points
    233
    Par défaut
    Intercepte l'événement Form.Closing, là tu peux vérifier l'état de l'application et des documments et enclencher les actions nécessaires.
    Pour annuler la fermeture du formulaire (et de l'application si formulaire principal) tu peux affecter la valeur true à e.Cancel.
    Pour avoir la raison de la fermeture du formulaire, vérifie la valeur de e.CloseReason.

  3. #3
    Membre du Club
    Profil pro
    Inscrit en
    Mars 2005
    Messages
    62
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mars 2005
    Messages : 62
    Points : 63
    Points
    63
    Par défaut
    bonjour.
    bah ya formclosed et formclosing (apres et avant la fermeture).

    A partir de là tu affiches une autre form .. ou ce que tu veux .

  4. #4
    Membre régulier
    Étudiant
    Inscrit en
    Août 2008
    Messages
    349
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2008
    Messages : 349
    Points : 93
    Points
    93
    Par défaut
    en fait mon mon formulaire est principal et je ne sais pas comment modifier la méthode close!!

  5. #5
    Membre émérite Avatar de Guulh
    Homme Profil pro
    Inscrit en
    Septembre 2007
    Messages
    2 160
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France, Paris (Île de France)

    Informations forums :
    Inscription : Septembre 2007
    Messages : 2 160
    Points : 2 925
    Points
    2 925
    Par défaut
    Citation Envoyé par TaymouWan Voir le message
    en fait mon mon formulaire est principal et je ne sais pas comment modifier la méthode close!!
    Pourtant emmr.rida t'a répondu
    Citation Envoyé par emmr.rida Voir le message
    Intercepte l'événement Form.Closing
    Quand la méthode Close de la form est appelée, voilà ce qui se passe :
    l'event Closing est lancé.
    si dans une méthode abonnée à eventClosing on n'a pas annulée la fermeture, la fenêtre se ferme.
    l'event Closed est lancé.
    ಠ_ಠ

  6. #6
    Rédacteur
    Avatar de The_badger_man
    Profil pro
    Développeur .NET
    Inscrit en
    Janvier 2005
    Messages
    2 745
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Yvelines (Île de France)

    Informations professionnelles :
    Activité : Développeur .NET

    Informations forums :
    Inscription : Janvier 2005
    Messages : 2 745
    Points : 8 538
    Points
    8 538
    Par défaut
    Une recherche sur le forum t'aurais donné rapidement une réponse :
    http://www.developpez.net/forums/d54...p-closereason/
    Les règles du forum
    Le trio magique : FAQ + Cours + fonction rechercher
    Mes articles
    Pas de questions par messages privés svp

    Software is never finished, only abandoned.

  7. #7
    Membre régulier
    Étudiant
    Inscrit en
    Août 2008
    Messages
    349
    Détails du profil
    Informations professionnelles :
    Activité : Étudiant

    Informations forums :
    Inscription : Août 2008
    Messages : 349
    Points : 93
    Points
    93
    Par défaut
    le problème est quand j'essaye de fermer ma forme à partir d'une autre fonction ou d'un bouton la messageBox se visualise
    donc
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
     
    if (e.CloseReason==CloseReason.UserClosing)
    n'a aucun effet;

  8. #8
    Membre régulier
    Profil pro
    Développeur .NET
    Inscrit en
    Novembre 2007
    Messages
    99
    Détails du profil
    Informations personnelles :
    Âge : 38
    Localisation : France, Yonne (Bourgogne)

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2007
    Messages : 99
    Points : 115
    Points
    115
    Par défaut
    Tu le vire.

    Une fois que tu t'es abonné à l'événement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     this.Closing += new System.ComponentModel.CancelEventHandler(Ta_Fenetre_Closing);
    Lorsque la fenêtre se fermera, le code contenu dans Ta_Fenetre_Closing sera exécuté. Par exemple tu peut faire un truc du genre :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
            void Profils_Closing(object sender, System.ComponentModel.CancelEventArgs e)
            {
              if (  MessageBox.Show("Confirmation de fermeture","Êtes-vous sûr de vouloir fermer ?",MessageBoxButtons.YesNo)==System.Windows.Forms.DialogResult.No)
              {
                  e.Cancel=true;             
              }
            }
    On affiche une boîte de dialogue demandant à l'utilisateur s'il veut fermer la fenêtre, s'il répond non alors on annule la fermeture.

    En espérant que cela t'aide : )

    Laurent

Discussions similaires

  1. [Débutant] [vb.net] Desactiver la croix de fermeture d'1 Form
    Par Manix dans le forum Windows Forms
    Réponses: 8
    Dernier message: 10/01/2014, 12h31
  2. changer le comportement de fermeture de la fenetre
    Par WELCOMSMAIL dans le forum VB 6 et antérieur
    Réponses: 6
    Dernier message: 16/01/2007, 11h46
  3. [C#] Renvoyer une valeur à la fermeture d'une forms
    Par diaboloche dans le forum Windows Forms
    Réponses: 6
    Dernier message: 14/03/2006, 11h54
  4. [C#] attendre la fermeture d'1 form avant la reprise du code
    Par rastali dans le forum Windows Forms
    Réponses: 4
    Dernier message: 05/01/2006, 11h21
  5. Réponses: 6
    Dernier message: 17/06/2005, 14h40

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo