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 :

Evenement FormClosing + closeReason


Sujet :

Windows Forms

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 82
    Par défaut Evenement FormClosing + closeReason
    Bonjour, j'ai une form login et j'aimerai empecher que l'utilisateur la ferme par la croix . J'ai d'abord chercher pour enlever cette croix sans succès alors j'ai vu dans la faq de s'abonner a l'évènement form closing et de positionner cancel à true. Soit mais quand je me log , cela implique aussi la fermeture de la fenetre, donc ça ne marche pas .
    Voici le code dans le handler de l'évènement :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if (e.CloseReason.ToString().Equals("UserClosing"))
    {
         e.Cancel = true;             
    }
    else // si c'est le bouton Authenticate
    {
        e.Cancel = false;
     }
    Seulement voilà , cela marche si on clique directement sur le bouton pour se logger , mais si on clique d'abord sur la croix, e.closeReason prend la valeur UserClosing , ensuite cette valeur ne change pas et je ne peux pas me logger.
    CloseReason est bien sur en RO. Comment faire ? merci d'avance

  2. #2
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Bonjour.

    Premiere chose pourquoi faire une comparaison de chaine de caractère alors que c'est une énumération et qu'il suffit de tester l'égalité dans l'énumération ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    if (e.CloseReason == CloseReason.UserClosing)
    {
         e.Cancel = true;             
    }
    else // si c'est le bouton Authenticate
    {
        e.Cancel = false;
     }
    Pour ton problème le bouton pour se logger à bien la valeur DialogResult positionné à Ok

  3. #3
    Membre expérimenté
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Sarthe (Pays de la Loire)

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

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Par défaut
    Pour enlever la croix de fermeture (les boutons minimiser/agrandir sont également enlevés à ce moment il me semble), c'est la propriété ControlBox du formulaire qu'il faut positionner à false.

    Sinon, histoire d'aléger le code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    e.Cancel = e.CloseReason == CloseReason.UserClosing;

  4. #4
    Membre confirmé
    Inscrit en
    Avril 2007
    Messages
    82
    Détails du profil
    Informations forums :
    Inscription : Avril 2007
    Messages : 82
    Par défaut
    Bonsoir, merci de vos réponses ,

    alors oui j'ai bien le dialogResult à OK , ce n'était pas le probleme vu qu'ici il m'empechait tout simplement de fermer la fenetre à cause du e.cancel = true.

    J'ai reglé le probleme en enlevant le controlBox !

    Merci

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

Discussions similaires

  1. Evenement formclosing (capter plusieurs fois )
    Par Pasges dans le forum VB.NET
    Réponses: 8
    Dernier message: 19/04/2011, 20h24
  2. [VB6] Evenement validate
    Par grosjej dans le forum VB 6 et antérieur
    Réponses: 4
    Dernier message: 05/09/2002, 15h46
  3. Evenement Change
    Par PierDIDI dans le forum Composants VCL
    Réponses: 3
    Dernier message: 28/08/2002, 10h08
  4. develloppement avec ORBit: service d'evenement
    Par belmontv dans le forum CORBA
    Réponses: 3
    Dernier message: 06/06/2002, 22h56
  5. Generation d'evenements a une date precise
    Par pascalzzz dans le forum MFC
    Réponses: 2
    Dernier message: 04/06/2002, 15h21

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