Does it tell you what type it is and what type it's trying to cast to in the error message (it might be happening behind the scenes)
Is your arraylist actually full of Labels and not just their text?
Below is the code i use to create and add the arraylist
Private Sub CreateControls()
'controls to put on the screen
Dim lblCharacteristic As Label
Dim lblName As Label
Dim lblReading As Label
Dim intLoop As Integer
Dim intReadingSize As Integer
Try
_charLabelArrayList = New ArrayList
_readingLabelArrayList = New ArrayList
_ReadingArrayList3 = New ArrayList
For intLoop = 0 To _partfile.gageList.Count - 1
lblCharacteristic = New Label
lblName = New Label
lblReading = New Label
With lblReading
.Font = New System.Drawing.Font("Times New Roman", 8, FontStyle.Regular)
.BackColor = System.Drawing.Color.White
.ForeColor = System.Drawing.Color.Black
.AutoSize = True
.BorderStyle = BorderStyle.FixedSingle
.Text = "-00.00"
intReadingSize = .Width
.AutoSize = False
.Text = ""
.Width = intReadingSize
.TextAlign = HorizontalAlignment.Center
.TabIndex = intLoop
.BringToFront()
.CausesValidation = True
'AddHandler .Click, AddressOf ReadingLabel_Click
End With
_charLabelArrayList.Add(lblCharacteristic)
_readingLabelArrayList.Add(lblReading)
_ReadingArrayList3.Add(lblReading)
Next
Catch
MsgBox("Runtime CreateControls Error" & vbCrLf & vbCrLf & Err.Description, MsgBoxStyle.Critical, "CreateControls Error...")
End Try
End Sub