Bonjour,

Je ne me souviens plus comment supprimer un contrôle par le code, quand le contrôle en question a était créer par le code.

Sur ce code aux lignes 51 à 54 j'ai:
Warning Variable 'labelCorner' is used before it has been assigned a value. A null reference exception could result at runtime.

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
    Private Sub AddCorners(ByVal sender As Object, ByVal e As System.EventArgs) Handles TrackPage.Enter
 
        Dim numberOfCorner As Integer
        Dim latestNumberOfCorner As Integer
        Dim labelCorner As Label
        Dim labelSpeed As Label
        Dim cornerName_tbox As TextBox
        Dim cornerSpeed_tbox As TextBox
 
        numberOfCorner = CInt(Me.NumberOfCorners_tbox.Value)
 
        If numberOfCorner - latestNumberOfCorner > 1 Then
 
            For i = latestNumberOfCorner + 1 To numberOfCorner Step 1
                labelCorner = New Label
                With labelCorner
                    .Text = "Corner " & i.ToString
                    .Font = New System.Drawing.Font("ab", 8, FontStyle.Bold)
                    .Size = New System.Drawing.Size(70, 15)
                    .Location = New System.Drawing.Point(17, 84 + (25 * i - 1))
                End With
 
                labelSpeed = New Label
                With labelSpeed
                    .Text = "[km/h]"
                    .Font = New System.Drawing.Font("ab", 8, FontStyle.Bold)
                    .Location = New System.Drawing.Point(362, 84 + (25 * i - 1))
                End With
 
                cornerName_tbox = New TextBox
                With cornerName_tbox
                    .Name = "Corner" & i.ToString & "_tbox"
                    .Size = New System.Drawing.Size(200, 20)
                    .Location = New System.Drawing.Point(90, 83 + (25 * i - 1))
                End With
 
                cornerSpeed_tbox = New TextBox
                With cornerSpeed_tbox
                    .Name = "Speed" & i.ToString & "_tbox"
                    .Size = New System.Drawing.Size(60, 20)
                    .Location = New System.Drawing.Point(296, 83 + (25 * i - 1))
                End With
 
                TrackPage.Controls.Add(labelCorner)
                TrackPage.Controls.Add(labelSpeed)
                TrackPage.Controls.Add(cornerName_tbox)
                TrackPage.Controls.Add(cornerSpeed_tbox)
            Next
 
        ElseIf numberOfCorner - latestNumberOfCorner < 1 Then
            TrackPage.Controls.Remove(labelCorner)
            TrackPage.Controls.Remove(labelSpeed)
            TrackPage.Controls.Remove(cornerName_tbox)
            TrackPage.Controls.Remove(cornerSpeed_tbox)
        End If
 
        latestNumberOfCorner = numberOfCorner
    End Sub