Supprimer un control par le code.
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:
Citation:
Warning Variable 'labelCorner' is used before it has been assigned a value. A null reference exception could result at runtime.
Code:
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 |