J'ai envie de créer un formulaire en vb.net sans passer par le mode design et j'ai beaucoup de mal (j'utilise Visual Studio 2008)

Dans le formulaire, je crée un tabcontrol dans lequel il y a un panel dans lequel il y a des contrôles (labels,...)

Voici le code que j'ai réalisé :

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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
Public Class Form1
 
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        ' Création de la fiche du patient 
        ' Premier panel comprenant les données personnelles
 
        Dim tab_patient As New TabControl
        tab_patient.Name = "mon_tab_patient"
        tab_patient.Height = 550
        tab_patient.Width = 750
 
        tab_patient.TabPages.Clear()
        Dim patient As String = "Fiche Patient"
        tab_patient.TabPages.Add(patient)
        'patient = "Données mutuelles"
        'tab_patient.TabPages.Add(patient)
 
 
        Dim p_patient As New Panel
        p_patient.Name = "p_patient"
        p_patient.Text = "Données Personnelles"
        p_patient.Width = 500
        p_patient.Height = 500
 
 
        Dim patient_nom As New Label
        patient_nom.Name = "patient_nom"
        patient_nom.Text = "Nom"
 
        Dim patient_prenom As New Label
        patient_prenom.Name = "patient_prenom"
        patient_prenom.Text = "Prénom"
 
        Dim patient_sexe As New Label
        patient_sexe.Name = "patient_sexe"
        patient_sexe.Text = "Sexe"
 
        Dim patient_num_dossier As New Label
        patient_num_dossier.Name = "patient_num_dossier"
        patient_num_dossier.Text = "N° de dossier"
 
        Dim patient_date_de_naissance As New Label
        patient_date_de_naissance.Name = "patient_date_de_naissance"
        patient_date_de_naissance.Text = "Date de naissance"
 
        Dim patient_etat_civil As New Label
        patient_etat_civil.Name = "patient_etat_civil"
        patient_etat_civil.Text = "Etat civil"
 
        Dim patient_decede As New Label
        patient_decede.Name = "patient_decede"
        patient_decede.Text = "Décédé"
 
        Dim patient_telephone As New Label
        patient_telephone.Name = "patient_telephone"
        patient_telephone.Text = "Téléphone"
 
        Dim patient_gsm As New Label
        patient_gsm.Name = "patient_gsm"
        patient_gsm.Text = "Fax"
 
        Dim patient_fax As New Label
        patient_fax.Name = "patient_fax"
        patient_fax.Text = "Fax"
 
        Dim patient_email As New Label
        patient_email.Name = "patient_email"
        patient_email.Text = "Email"
 
        Dim patient_code_postal As New Label
        patient_code_postal.Name = "patient_code_postal"
        patient_code_postal.Text = "Code Postal"
 
        Dim patient_ville As New Label
        patient_ville.Name = "patient_ville"
        patient_ville.Text = "Ville"
 
        Dim patient_rue As New Label
        patient_rue.Name = "patient_rue"
        patient_rue.Text = "Rue"
 
        Dim patient_numero As New Label
        patient_numero.Name = "patient_numero"
        patient_numero.Text = "N°"
 
        Dim t_patient_nom As New TextBox
        t_patient_nom.Name = "t_patient_nom"
        t_patient_nom.Text = "Je suis pressé"
 
 
        p_patient.Controls.Add(patient_nom)
        p_patient.Controls.Add(t_patient_nom)
        p_patient.Controls.Add(patient_prenom)
        p_patient.Controls.Add(patient_sexe)
        p_patient.Controls.Add(patient_prenom)
        p_patient.Controls.Add(patient_num_dossier)
        p_patient.Controls.Add(patient_date_de_naissance)
        p_patient.Controls.Add(patient_etat_civil)
        p_patient.Controls.Add(patient_decede)
        p_patient.Controls.Add(patient_telephone)
        p_patient.Controls.Add(patient_gsm)
        p_patient.Controls.Add(patient_fax)
        p_patient.Controls.Add(patient_code_postal)
        p_patient.Controls.Add(patient_rue)
        p_patient.Controls.Add(patient_numero)
 
        tab_patient.TabPages(0).Controls.Add(p_patient)
 
 
        'tab_patient.TabPages(0).Controls.Add(patient_prenom)
        'tab_patient.TabPages(0).Controls.Add(patient_sexe)
        'tab_patient.TabPages(0).Controls.Add(patient_num_dossier)
        'tab_patient.TabPages(0).Controls.Add(patient_date_de_naissance)
        'tab_patient.TabPages(0).Controls.Add(patient_etat_civil)
        'tab_patient.TabPages(0).Controls.Add(patient_decede)
        'tab_patient.TabPages(0).Controls.Add(patient_telephone)
        'tab_patient.TabPages(0).Controls.Add(patient_gsm)
        'tab_patient.TabPages(0).Controls.Add(patient_fax)
        'tab_patient.TabPages(0).Controls.Add(patient_code_postal)
        'tab_patient.TabPages(0).Controls.Add(patient_rue)
        'tab_patient.TabPages(0).Controls.Add(patient_numero)
 
        ' Deuxième panel comprenant les données mutuelles
    End Sub
End Class
l_label
t_textbox
p_panel

Plus tard je rajouterai d'autres panels et d'autres pages dans le tabcontrol...

Ce n'est pas un travail scolaire ou professionnel, je voulais juste essayer ça pour le plaisir. Une petite application windows pour m'entrainer.

J'ai testé en créant uniquement le TabControl en mode design et en le renommant. Et bizaremment il ne rajoute que le premier label

Pour créer l'entièreté de la base de données, le databinding et les validations je m'en sortirai, mais visiblement je n'ai vraiment pas tout compris à propos des containers. Quelqu'un peut il m'aider ? C'est sûrement une petite erreur