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 :

[VB.NET]Inputbox: tester si on clique sur Annuler


Sujet :

Windows Forms

  1. #1
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 21
    Points : 13
    Points
    13
    Par défaut [VB.NET]Inputbox: tester si on clique sur Annuler
    Bonjour! Voilà, j'ai créé une inputbox dans mon application. L'input box se présente sous la forme d'une boite de dialogue avec un bouton 'OK' et 'Annuler'. Je voulais tester les cas l'utilisateur clique sur 'annuler' ou ne saisit rien dans le champ. Si c'est le cas, l'application se ferme.
    Je me suis renseignée dans la doc de Visual Studio, et c'est écrit que si l'utilisateur ne saisit rien, l'application renvoie la chaine vide.
    En prenant en compte ceci, voilà ce que j'ai écrit:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    dim bld as integer
    bld = InputBox("Vous voulez les résultats de quelle campagne ?", "Bonjour")
     
                        If bld.ToString.Lenght = 0 Then
                            ' L utilisateur a pressé sur Cancel ou n'a rien tapé
                            MessageBox.Show("cancel")
                            Exit Try
                        End If
    Alors quand j'éxécute, cette partie, je reçois cette erreur:
    Cast from string " " to type Integer is not valid
    J'ai ensuite changé le type de bld en mettant string et en changeant la condition dans le if en faisant:

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
     
    dim bld as string
    bld = InputBox("Vous voulez les résultats de quelle campagne ?", "Bonjour")
     
                         If bld Is Nothing Then
                            ' L utilisateur a pressé sur Cancel ou n'a rien tapé
                            MessageBox.Show("cancel")
                            Exit Try
                        End If
    Grr J'ai la même erreur.


  2. #2
    Membre habitué Avatar de Angath
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2004
    Messages : 140
    Points : 174
    Points
    174
    Par défaut
    Et comme ça

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    dim bld as string
    bld = InputBox("Vous voulez les résultats de quelle campagne ?", "Bonjour")
     
                         If bld.lenght = 0 Then
                            ' L utilisateur a pressé sur Cancel ou n'a rien tapé
                            MessageBox.Show("cancel")
                            Exit Try
                        End If
    Chaines de longeur null est different de Nothing

  3. #3
    Membre averti

    Profil pro
    Inscrit en
    Avril 2005
    Messages
    95
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Avril 2005
    Messages : 95
    Points : 350
    Points
    350
    Par défaut
    Sous NET2.0 tu peux écrire ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            If String.IsNullOrEmpty(bld) Then
    ou sinon en NET1.x

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
            If bld=String.Empty Then

  4. #4
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    OUi c super! Merci Angath, ça marche. C'est quand même bizarre. Pourquoi
    bld.ToString.Lenght ou bld is nothing ne donnent rien?

  5. #5
    Membre habitué Avatar de Angath
    Profil pro
    Inscrit en
    Juin 2004
    Messages
    140
    Détails du profil
    Informations personnelles :
    Âge : 49
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations forums :
    Inscription : Juin 2004
    Messages : 140
    Points : 174
    Points
    174
    Par défaut
    Citation Envoyé par waniiya
    OUi c super! Merci Angath, ça marche. C quand même bizarre. Pourquoi
    bld.ToString.Lenght ou bld is nothing ne donnent rien?
    Dans ton premier exemple, tu déclare bld en integer, la function inputbox renvoyant un string ben ca plante normal.

    Dans ton 2eme essai, bld est bien declaré en string, inputbox te renvoie une chaine null ce qui différent de rien du tout (nothing)

    Si tu fait que : Dim str as string

    alors str = nothing

    Si tu fait: Dim str as string = ""

    alors str = chaine null

    Subtile la nuance

    PS : Tu peux aussi faire comme le dit kikos31 c'est pareil

  6. #6
    Membre à l'essai
    Inscrit en
    Mars 2006
    Messages
    21
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 21
    Points : 13
    Points
    13
    Par défaut
    Ah! C'est cool! Merci pour tout. ça m'aurait sappé la jounée sinon!

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

Discussions similaires

  1. [AC-2007] erreur quand je clique sur annuler msg box
    Par sihamelm dans le forum Requêtes et SQL.
    Réponses: 1
    Dernier message: 29/10/2012, 17h30
  2. tMsgBox de type question qui plante quand on clique sur Annuler
    Par cutkiller042 dans le forum Développement de jobs
    Réponses: 3
    Dernier message: 12/09/2012, 20h30
  3. Réponses: 2
    Dernier message: 29/05/2009, 10h36
  4. Réponses: 3
    Dernier message: 23/01/2006, 15h40
  5. [AS] Tester si l'utilisateur a cliqué sur une fonction
    Par PrinceMaster77 dans le forum Flash
    Réponses: 2
    Dernier message: 11/01/2006, 15h28

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