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 :

Récupérer entrée dans une Texbox créée dans un autre formulaire


Sujet :

VB.NET

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Candidat au Club
    Profil pro
    Inscrit en
    Décembre 2010
    Messages
    2
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2010
    Messages : 2
    Par défaut Récupérer entrée dans une Texbox créée dans un autre formulaire
    Bonjour,

    Je débute en VB, et j'aimerais créé un programme permettant à l'utilisateur dans une première fenêtre d'entrer un nombre n. Lorsqu'il clique sur OK, une nouvelle fenêtre s'ouvre avec n Textbox (créées dynamiquement) dedans et un Bouton OK. Lorsqu'il clique sur OK, j'aimerais que les valeurs (du type String) qu'il a entré dans les différentes Textbox soit sauvegardées dans des variables.
    Lorsque je lance tout ca le code fonctionne bien jusqu'au formulaire 2 et l'expression en rouge. Je pense que le problème vient soit de la façon dont je déclare mes variables, il doit leur manquer un attribut, soit de la ligne rouge et donc de la façon dont j'essaye de récupérer les infos. Erreur: La référence d'objet n'est pas définie à une instance d'un objet.
    Merci d'avance pour votre aide.
    Lucas

    Formulaire 1 :

    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
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    Public Class Form1
     
        Public Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
     
            Form2.Show()
            Me.Hide()
            Form2.Width = 250
     
            Dim i As Integer
            Dim Label1 As Label
            Dim Bouton1 As Button
            Dim Tableau(0 To NbS.Text - 1) As Integer
     
            Label1 = New Label
            Label1.Name = "Label"
            Form2.Controls.Add(Label1)
            Label1.Text = "Noms des personnes :"
            Label1.Size = New Size(148, 15)
            Label1.Location = New Point(50, 5)
            Label1.Visible = True
     
            For i = 1 To n.Text
                TextBoxf2 = New TextBox
                TextBoxf2.Name = "Textboxf2" & i
                Form2.Controls.Add(TextBoxf2)
                TextBoxf2.Size = New Size(50, 25)
                TextBoxf2.Location = New Point(Form2.Width / 2 - 25, 25 * i)
                TextBoxf2.Visible = True
            Next
     
     
            Bouton1 = New Button
            Bouton1.Name = "Bouton1"
            Form2.Controls.Add(Bouton1)
            Bouton1.Text = "OK"
            Bouton1.Size = New Size(50, 25)
            Bouton1.Location = New Point(Form2.Width / 2 - 25, 25 * (i + 0.5))
            Bouton1.Visible = True
            AddHandler Bouton1.Click, AddressOf Form2.Bouton1_Click
     
            Form2.Height = 25 * (i + 4)
     
        End Sub
     
        Private Sub NbS_TextChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles NbS.TextChanged
     
        End Sub
    End Class
    Formulaire 2 :

    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
    Public Class Form2
    
        Public Sub MonBouton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MonBouton.Click
    
            Form3.Hide()
            Me.Hide()
            Dim k As Integer
    
            Dim TableauNom(Form1.n.Text - 1) As String
            For k = 0 To TableauNom.Length - 1
    
                TableauNom(k) = Form1.Controls.Item("Textboxf2" & k).Text
            Next
        End Sub
    
    End Class

  2. #2
    Membre émérite Avatar de bizet
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2005
    Messages
    717
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 717
    Par défaut
    Salut,

    Sujet en cours dans ce post :
    http://www.developpez.net/forums/d10...-control-form/

  3. #3
    Membre éclairé Avatar de Yolak
    Profil pro
    Inscrit en
    Mars 2007
    Messages
    341
    Détails du profil
    Informations personnelles :
    Âge : 42
    Localisation : France, Vosges (Lorraine)

    Informations forums :
    Inscription : Mars 2007
    Messages : 341
    Par défaut
    TableauNom(k) = Form1.Controls.Item("Textboxf2" & k).Text
    Quelle est la valeur de k au moment de l'erreur ?
    Est-ce que, si k=1 par ex, la textbox "Textboxf21" existe ?

Discussions similaires

  1. adresse d'une fonction crée dans une unité
    Par potili2 dans le forum Débuter
    Réponses: 1
    Dernier message: 28/06/2009, 05h59
  2. [Dojo] Invisibilité d'une CheckBox crée dans une fonction javascript
    Par hapalemur dans le forum Bibliothèques & Frameworks
    Réponses: 2
    Dernier message: 05/06/2009, 15h41
  3. Instancier une classe crée dans une autre application
    Par Yvan49 dans le forum VBA Access
    Réponses: 2
    Dernier message: 28/02/2009, 19h29
  4. Réponses: 3
    Dernier message: 28/09/2007, 16h58
  5. Récupérer la valeur des champs calculés dans une requète SQL dans vba
    Par FrédéricCM dans le forum Requêtes et SQL.
    Réponses: 12
    Dernier message: 28/06/2006, 16h29

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