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 :
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
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
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
Partager