I tried out the following code to assign the list of MaskedTextBox
controls in the from to a list msklist
. But the index value is still 0 even after executing the code I have shown below. I have 30 MaskedTextBox
controls in my form.
Private msklist As New List(Of MaskedTextBox)
Private msk() As MaskedTextBox
For Each ctrl In Me.Controls
If TypeOf ctrl Is MaskedTextBox Then
msklist.Add(ctrl)
End If
Next
MsgBox(msklist.Count)
ReDim msk(msklist.Count - 1)
msk = msklist.ToArray
For i = 0 To 29 Step 1
query = "SELECT * FROM allotment_table WHERE seat=@seat"
cmd.Parameters.AddWithValue("@seat", seat1(i))
cmd = New SqlCommand(query, con)
con.Open()
re = cmd.ExecuteReader
re.Read()
msk(i).Text = re("regno")
con.Close()
Next
I was hoping to assign text to the controls' Text
property using for loop with the array msk
I need some suggestions
Try this instead:
Private msklist As New List(Of MaskedTextBox)
' Loop through all controls in form
For Each ctrl As Control In Me.Controls
If TypeOf ctrl Is Panel Then
' Loop through each of the controls in the Panel
For Each panelCtrl As Control In ctrl.Controls
If TypeOf panelCtrl Is MaskedTextBox Then
msklist.Add(panelCtrl)
End If
Next
End If
Next
MsgBox(msklist.Count)
' Get the text value once and apply it to each text box
query = "SELECT * FROM allotment_table"
cmd = New SqlCommand(query, con)
con.Open()
re = cmd.ExecuteReader
re.Read()
Dim textValue As String = re("regno")
con.Close()
' Loop through the list of masked text boxes and apply the text value to each
For Each mskTextBox As MaskedTextBox In msklist
mskTextBox.Text = textValue
Next