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 :

Fermeture form - Doublons MsgBox


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 55
    Par défaut Fermeture form - Doublons MsgBox
    Bonjour,

    Je travaille sous Visual Studio 2012 (vb.net) et Access 2013 (mdb).

    Avec le code ci-dessous, je veux pouvoir, lors du click sur la croix rouge de fermeture, laisser le choix à l'utilisateur de quitter l'application ou non.
    J'ai donc mit ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     
        Private Sub Formulaire_appli_FormClosing(sender As Object, e As FormClosingEventArgs) Handles MyBase.FormClosing
            If (MsgBox("Voulez-vous quitter l'application ?", vbYesNo, "Fermeture de l'application") = vbYes) Then
                If con.State = ConnectionState.Open Then
                    con.Close()                             'Si la connexion est encore ouverte, on la ferme
                End If
                Application.Exit()
            Else
                e.Cancel = True
            End If
        End Sub
    Mais j'ai 2 soucis (qui n'en sont peut être qu'un seul mais lié).
    J'ai donc ma MsgBox qui apparait lors de mon click sur la croix rouge, si je réponds non, tout va bien je reste sur mon formulaire.
    Si je réponds oui, une autre msgbox (à vrai dire la même) apparait mais sur celle-ci que je réponde oui ou non il ferme mon application ...
    Je ne comprends pas, si vous avez une idée, une solution

  2. #2
    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 : 44
    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
    Par défaut
    Enlève le Application.Exit, a priori il n'est pas nécessaire (l'appli se termine quand tu fermes la fenêtre principale)

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 55
    Par défaut
    Bien vu, ça fonctionne

    Et si j'ai un 2ème formulaire, quand j'utilise cette technique il me demande si je veux fermer pour les 2, c'est-à-dire que j'ai un msgbox pour le form1 (dira-t-on) qui se ferme si je réponds oui et j'ai aussi un msgbox pour le form2.
    Y'a moyen de fermer les 2 en ne demandant qu'une seule fois ?

    J'utilise la méthode show pour ouvrir le 2ème formulaire

  4. #4
    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 : 44
    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
    Par défaut
    Dans ce cas il te faut un flag au niveau de l'application pour indiquer que l'application est en train de se fermer. Le plus propre a priori est de le mettre dans My.Application :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    Namespace My
     
        Partial Public Class Application
            Public Property IsClosing As Boolean
        End Class
     
    End Namespace
    Chaque Form vérifie dans son évènement FormClosing si My.Application.IsClosing est True. Si c'est le cas, elle laisse la fenêtre se fermer sans confirmation. Sinon, elle affiche la confirmation, et met My.Application.IsClosing à True si l'utilisateur a confirmé la fermeture.

  5. #5
    Membre averti
    Profil pro
    Inscrit en
    Octobre 2013
    Messages
    55
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2013
    Messages : 55
    Par défaut
    Ok merci. Je vais tester tout ça

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

Discussions similaires

  1. Problème ouverture fermeture Form
    Par Allspark dans le forum C#
    Réponses: 6
    Dernier message: 26/08/2010, 12h57
  2. empecher fermeture form dialogresult
    Par bobby51 dans le forum Windows Forms
    Réponses: 2
    Dernier message: 11/03/2009, 13h40
  3. interdire fermeture form sur condition
    Par santacrus dans le forum VBA Access
    Réponses: 7
    Dernier message: 25/10/2008, 16h19
  4. Liste modifiables : fermeture form non voulue
    Par sebinator dans le forum IHM
    Réponses: 0
    Dernier message: 01/01/2008, 00h36
  5. [Infopath 2007] fermeture form
    Par stephane eyskens dans le forum InfoPath
    Réponses: 19
    Dernier message: 16/04/2007, 18h49

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