Причина вашей проблемы в том, что в вашем l oop текст Label
перезаписывается на каждой итерации. Простое добавление амперсанда (&
) перед =
добавляет новый текст к существующему тексту. Долгий путь написания этого будет
lbl.Text = lbl.Text & CarList(i) & vbCrLf
Как и &=
, вы также можете использовать ярлык +=
для добавления. Я показал это в методе BtnTank.Click
.
Включите Option Strict
и оставьте его включенным для всех ваших проектов. Свойство .Text
Control
s является String
. Cars
и Weight
являются Integers
. Метод .ToString
исправляет это.
Dim Cars As Integer = 0
Dim Weight As Integer = 0
Dim CarList As New List(Of String)
Private Sub BtnTank_Click(sender As Object, e As EventArgs) Handles btnTank.Click
Cars += Cars
lblTotalCars.Text = Cars.ToString
Weight += 45200
lblTotalWeight.Text = Weight.ToString
CarList.Add("Tank")
End Sub
Private Sub Button1_Click(sender As Object, e As EventArgs) Handles Button1.Click
For i As Integer = 0 To CarList.Count - 1
lbl.Text &= CarList(i) & vbCrLf
Next i
End Sub
Код, предоставленный @Jimi, также будет работать, избавляя вас от необходимости писать l oop. Я сохраняю код в вашем формате, чтобы показать, где он идет не так.