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

VB.NET Discussion :

Evenement sur fermeture avec la croix uniquement


Sujet :

VB.NET

  1. #1
    Membre régulier Avatar de zarohn
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 148
    Points : 94
    Points
    94
    Par défaut Evenement sur fermeture avec la croix uniquement
    Bonjour,

    J'ai un menuStrip avec un élément "déconnexion" qui ferme le formulaire. J'ai donc deux possibilité de fermer : via ce bouton et via la croix de fermeture. Et je veux exécuter quelque chose uniquement si la fermeture à lieu avec la croix ... car l'event "FormClosing" se déclenche par défaut avec les deux.

    J'ai essayé :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Private Sub frm_Accueil_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
            If Not sender.Equals(mi_Deconnexion) Then
                maprocedure()
            End If
        End Sub
    Vous voyez je cherche à déclencher ma procédure seulement si l'action de fermeture ne vient pas de mon bouton de menu, mais le equals de mon if n'a pas l'air de fonctionner ... Tel quel il se déclenche dans tous les cas.

    Si quelqu'un savait comment faire ça, merci d'avance

  2. #2
    Membre régulier Avatar de zarohn
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 148
    Points : 94
    Points
    94
    Par défaut
    Bon en attendant j'ai fait un flag booleen en variable globale qui s'initialise a false au chargement et que je met a true si clic sur mon bouton, ce qui permet dans l'évènement de tester la valeur de ce flag :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
        Private Sub frm_Accueil_FormClosing(ByVal sender As System.Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles MyBase.FormClosing
            If flagDeconnectionClic = False Then
                maprocedure()
            End If
        End Sub
    Ça fait exactement ce que je veux donc je passe le sujet en résolu mais si quelqu'un sait comment tester directement dans l'évènement d'ou vient le clic sans passer par un flag, répondez, ça m'intéresse quand même ...


  3. #3
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    il faut utiliser la propriété CloseReason du paramètre de l'évènement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    If e.CloseReason = CloseReason.UserClosing Then
        maprocedure()
    End If

  4. #4
    Membre régulier Avatar de zarohn
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 148
    Points : 94
    Points
    94
    Par défaut
    il faut utiliser la propriété CloseReason
    Et bien non, je viens d'essayer.

    A moins que je m'y sois mal pris, les deux méthodes de fermeture (mon bouton qui fait un me.close et la croix) déclenchent toutes les deux un UserClosing dans CloseReason ...

    Merci

  5. #5
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Points : 39 753
    Points
    39 753
    Par défaut
    Citation Envoyé par zarohn Voir le message
    A moins que je m'y sois mal pris, les deux méthodes de fermeture (mon bouton qui fait un me.close et la croix) déclenchent toutes les deux un UserClosing dans CloseReason ...

    c'est bête ça... c'est mal pensé leur truc, un appel a Me.Close aurait du donner une raison différent

  6. #6
    Membre régulier Avatar de zarohn
    Profil pro
    Inscrit en
    Mai 2009
    Messages
    148
    Détails du profil
    Informations personnelles :
    Âge : 39
    Localisation : France

    Informations forums :
    Inscription : Mai 2009
    Messages : 148
    Points : 94
    Points
    94
    Par défaut
    Oui, il manque un argument.
    Pour l'instant la seule solution que je vois est le flag ...

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Evenement sur fermeture par la croix d'une pop-up
    Par ginkas31 dans le forum Général JavaScript
    Réponses: 3
    Dernier message: 20/06/2008, 15h08
  2. Comment annuler la fermeture avec la croix ?
    Par Nico128 dans le forum WinDev
    Réponses: 2
    Dernier message: 02/03/2008, 11h36
  3. Plantage sur fermeture avec dll CLI
    Par greenzephyr dans le forum C#
    Réponses: 9
    Dernier message: 31/07/2007, 16h49
  4. [JFrame] Evenement sur fermeture?
    Par Psykorel dans le forum Agents de placement/Fenêtres
    Réponses: 6
    Dernier message: 21/06/2006, 12h46
  5. onglet avec une croix de fermeture
    Par hysah dans le forum AWT/Swing
    Réponses: 2
    Dernier message: 07/06/2006, 17h43

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