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