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 :

[VB.NET] Validating et Bouton Fermer


Sujet :

VB.NET

  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Par défaut [VB.NET] Validating et Bouton Fermer
    Bonjour,


    J'ai un petit souci avec mes validating quand je ferme une fenetre à partir du bouton croix (control box de la fenetre) en effet je ne sais pas comment annuler le passage dans le validating dans ce cas.

    Exemple : j'ai un textbox qui doit absolument etre complèter. Si je ferme ma fenetre quand ce textbox à le focus, je validating ce déclenche.

    Comment remedier à ce petit problème?

    D'avance je vous remercie.


    OLBI

  2. #2
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Par défaut
    dans l'évenement closing de ta fenetre tu met une variable booleene à true et tu teste l'etat de cette variable dans le validating de ton textbox, si elle est à true tu fais pas le validating de ton textbox

  3. #3
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Par défaut
    Je viens de tester la solution mais il passe d'abord par le validating et puis ensuite par formclosing...

  4. #4
    Membre émérite
    Avatar de HULK
    Inscrit en
    Juillet 2003
    Messages
    1 276
    Détails du profil
    Informations personnelles :
    Âge : 45

    Informations forums :
    Inscription : Juillet 2003
    Messages : 1 276
    Par défaut
    et si tu utilise le validated plustot que le validating ? je sais pas si c'est possible dans ton programme

  5. #5
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Par défaut
    Ce ne me parait pas possible car je n'ai plus la methode cancel de l'evenement (e.cancel).

    Merci pour l'attention que vous portez à ma question!!!!!

  6. #6
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    testez cela

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
     Private Sub frmPCVente_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
            If e.CloseReason = CloseReason.UserClosing Then
                Me.blnFenetrePeutEtreFermee = True
                If Me.Tag = Nothing Then
                    Me.Tag = "False"
                End If
            End If
            If Not Me.blnFenetrePeutEtreFermee Then
                e.Cancel = True
            End If
        End Sub

  7. #7
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Par défaut
    Helas ca ne marche pas j'ai toujours mon validating qui réagit avant le formclosing et donc je reste bloqué.

  8. #8
    Membre éclairé Avatar de chris81
    Homme Profil pro
    Inscrit en
    Mars 2004
    Messages
    626
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 42
    Localisation : France

    Informations forums :
    Inscription : Mars 2004
    Messages : 626
    Par défaut
    pourquoi gardes tu l'evenement sur le validating ?

  9. #9
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Par défaut
    Je verifie ainsi le contenu de mon textbox et dans le cas ou le contenu n'est pas correcte je peux rester sur ce champ tant que la composition n'est pas correcte. J'utilise e.cancel = true dans l'evenement validating. De plus cet evenement se produit dés que l'on sort de la zone par n'importe quel moyen.

    Je peux ajouter un test pour savoir quel champ suivant à pris le focus

    private sub mmmmm_validating(........................)
    If txtboxsuivant.focused = true then
    exit sub 'Ne pas verifier la zones
    endif

    if mmmmm.text = "" then
    e.cancel = true
    endif
    end Sub


    Je ne sais pas comment savoir si la fenetre va se fermer parce que on vient de clicker sur le bouton close de la fenetre.

  10. #10
    Membre éclairé
    Profil pro
    Inscrit en
    Mars 2006
    Messages
    284
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Mars 2006
    Messages : 284
    Par défaut
    Pour ceux pour qui ca interresse, voici une solution qui fonctionne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
     Function formIsClosing() As Boolean
            '-------------------------------------------------------------------
            'Vérification de la derniere action qui produit le validating
            'Si on ferme la fenetre à l'aide de la croix, alors la fonction
            'renvoit TRUE
            '-------------------------------------------------------------------
            Dim stackTrace As System.Diagnostics.StackTrace = New System.Diagnostics.StackTrace()
            Dim indx As Int32 = 0
            Dim nbframecount As Int32 = stackTrace.FrameCount - 1
     
            For indx = 2 To nbframecount
                If (stackTrace.GetFrame(indx).GetMethod().Name = "WmClose") Then
                    Return True
                Else
     
                End If
            Next
     
            Return False
            '-------------------------------------------------------------------
        End Function
    Dans le validating de mon textbox je test la valeur de retour si true alors EXIT sub

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

Discussions similaires

  1. évènement Validating et bouton fermer
    Par goran kajfes dans le forum Framework .NET
    Réponses: 0
    Dernier message: 23/11/2009, 15h00
  2. [vb.net] Tester le bouton fermer
    Par olbi dans le forum VB.NET
    Réponses: 1
    Dernier message: 20/06/2007, 09h15
  3. Validation de données et bouton "Fermer"
    Par Ithilien dans le forum Access
    Réponses: 5
    Dernier message: 13/12/2006, 16h07
  4. Désactiver le bouton "fermer fomulaire"
    Par 973thom dans le forum IHM
    Réponses: 10
    Dernier message: 03/02/2005, 20h26
  5. [VB.NET] Gestion des boutons d'un formulaire
    Par dinbougre dans le forum Windows Forms
    Réponses: 4
    Dernier message: 28/01/2005, 09h35

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