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 :

De vb6 à vb.net TextBox indexé


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 8
    Par défaut De vb6 à vb.net TextBox indexé
    Salut à tous!
    Je cherche à choisir un de mes 30 textbox nommé comme suit
    TextBox1,TextBox2...etc
    Voici un bout de code vb6 qui marche avec des TextBox(index) ou index = 1 to 30

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    Case 0
    For i = 0 To 9
    If Text7(i).Text = "" Then Exit Sub
    Text7(i).Text = Hex(Left(Val(Text7(i).Text), 2)) & Hex(Right(Val(Text7(i).Text), 2))
    Next
    voici en vb.net ma nouvelle approche qui ne marche pas!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    For i = 0 To 9
    If Controls("TextBox" & i.ToString).Text = Nothing Then
    Controls("TextBox" & i.ToString).Text = "0000"
    Else
    ques-ce qui ne vas pas avec ceci
    If Controls("TextBox" & i.ToString).Text = Nothing Then
    ou
    If Controls("TextBox" & i.ToString).Text = "" Then
    suite du code
    endif

  2. #2
    Modérateur
    Avatar de sevyc64
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Janvier 2007
    Messages
    10 245
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 52
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Janvier 2007
    Messages : 10 245
    Par défaut
    A part peut-être mettre Me.Controls, sinon le code me semble bon.

    Tu as quoi comme message d'erreur ?

  3. #3
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    Citation Envoyé par sevyc64 Voir le message
    A part peut-être mettre Me.Controls
    Non ca vient pas de ca, car il le rajoute auto.
    Et c'est sur que sans le descriptif de l'erreur, ca va etre dur.
    Moi, comme ca, je dirais que le chemin vers l'objet n'est pas correct ou entier (c'est l'erreur la plus courante)

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 8
    Par défaut
    La référence d'objet n'est pas définie à une instance d'un objet.
    Il me propose de déclarer les textbox avec "As new" ce qui est déjà le cas
    Ou de tester la valeur null ou nothing

    Je viens d'essayer Me.Controls ....sans résultat.

    Es-ce correct ou pas d'appeler mon TextBox1.text comme ceci;

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Controls("TextBox" & i.tostring).text
    Y a t'il un autre façon?

  5. #5
    Membre Expert Avatar de Danyel
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juillet 2005
    Messages
    1 699
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 55
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juillet 2005
    Messages : 1 699
    Par défaut
    Essaye ceci
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    DirectCast(Me.Controls("TextBox" & i.ToString), TextBox).Text = "0000"

  6. #6
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2005
    Messages
    8
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2005
    Messages : 8
    Par défaut
    Nouveau message d'erreur qui dit imposible de convertir une valeur de type en bolean
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    If DirectCast(Me.Controls("TextBox" & i.ToString), TextBox)).Text = "" then 
    code....
    endif
     
    ou 
     
    If DirectCast(Me.Controls("TextBox" & i.ToString), TextBox)).Text is nothing then 
    code....
    endif
    ...une valeur de type textbox en bolean

  7. #7
    Membre confirmé
    Profil pro
    Ostéopathe
    Inscrit en
    Juillet 2010
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations professionnelles :
    Activité : Ostéopathe

    Informations forums :
    Inscription : Juillet 2010
    Messages : 26
    Par défaut
    Citation Envoyé par Danyel Voir le message
    Non ca vient pas de ca, car il le rajoute auto.
    Et c'est sur que sans le descriptif de l'erreur, ca va etre dur.
    Moi, comme ca, je dirais que le chemin vers l'objet n'est pas correct ou entier (c'est l'erreur la plus courante)
    Je suis tout à fait d'accord avec Danyel sur l'origine de ton erreur

    Prenons un exemple. Tu as sur ta Form cinq TextBox : TextBox1, TextBox2, TextBox3, TextBox4, TextBox5
    Le code suivant ne plantera pas
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    Dim incr As Integer
    For incr = 1 to 5
        MsgBox(Controls("TextBox" & incr).Text)
    Next
    Maintenant, tu fais des modifications sur ta Form et tu supprimes le TextBox3 parce que tu n'en as plus besoin. Le code précédent génèrera une erreur lorsqu'il cherchera à s'adresser à la propriété Text du contrôle TextBox3. Normal parce qu'il n'existe plus.

    Avant de t'adresser à une propriété de ton contrôle tu peux vérifier s'il existe. Ca te permet de supprimer toutes les erreurs de contrôles non trouvés :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    Dim incr As Integer
    For incr = 1 to 5
        If Controls.ContainsKey("TextBox" & incr) Then
            MsgBox(Controls("TextBox" & incr).Text)
        'Else
            'Le contrôle n'existe pas donc ne fait rien mais tu peux ajouter un code qui gère l'absence de contrôle auquel tu t'adresses
        End If
    Next
    Si ça ne résout pas ton problème, peux-tu reposer ton problème en précisant :
    • ce que tu cherches à faire
    • ce que fait ton code
    • l'erreur qui est levée
    • la ligne précise de ton code où se situe l'erreur


    Parce que apparemment on galère tous car tu nous présentes un bout de code qui objectivement dans certains contextes ne peux que marcher et dans d'autres ne peut que foirer.
    Plus tu seras précis dans ta description plus on pourra comprendre ton problème et y répondre.

Discussions similaires

  1. [VB.net] TextBox dans Repeater
    Par TekP@f dans le forum ASP.NET
    Réponses: 2
    Dernier message: 06/05/2005, 13h38
  2. [vb.net][textbox] Avoir un value field et un display field
    Par graphicsxp dans le forum Windows Forms
    Réponses: 2
    Dernier message: 27/04/2005, 17h59
  3. [VB.NET] Textbox -> seulement des chiffres sans API?
    Par Pleymo dans le forum Windows Forms
    Réponses: 10
    Dernier message: 25/04/2005, 14h00
  4. [VB.NET] Migration VB6---VB.NET
    Par billyyy dans le forum Windows Forms
    Réponses: 6
    Dernier message: 07/01/2005, 15h30
  5. [VB6] [Interface] ScrolBar & TextBox
    Par DarkVader dans le forum VB 6 et antérieur
    Réponses: 2
    Dernier message: 25/10/2002, 18h40

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