Ciao,
ho scritto del codice dove con un ciclo FOR richiamo n volte una Function dove aggiungo ad una Form dei controlli CheckBox con i seguente codice:
Public Function addCheckBox() As System.Windows.Forms.CheckBox
Dim chkB As New System.Windows.Forms.CheckBox
Me.Controls.Add(chkB)
chkB.Name = "chkbAdd" & Format(k3, "000")
chkB.Text = Agg(k3, 0)
chkB.Size = New Size(140, 24)
chkB.Font = New Font("Arial", 12.0, FontStyle.Bold)
chkB.Location = New Point(x, y)
chkB.Visible = True
chkB.Checked = False
x += 140
AddHandler chkB.Click, AddressOf chkb_Click
End Function
Come vedete alla fine con il comando AssHandler ho associato il click sulla checkbox alla sub chkb_Click che trovate di seguit:
Private Sub chkb_Click(sender As Object, e As MouseEventArgs)
MessageBox.Show("click su check box" & vbCrLf & sender.name.ToString & vbCrLf & sender.text)
If Controls(sender.name).Checked = False Then
Controls(sender.name).Forecolor = Color.Black
Else
Controls(sender.name).Forecolor = Color.Red
strAggiunte &= " +" & Controls(sender.name).text
End If
End Sub
Allpinterno di questa SUB posso andare a gestire tutti i vari attributi delle checkbox(Forecolor, Text, Checked, ecc.).
Se pero in un'altra Sub cerco di gestire gli attributi me ne gestisce solo alcuni.
Come vedete qui sotto
Private Sub AzzeraCampi()
Dim iClear As Integer
For iClear = 0 To z2
Controls("chkbAdd" & Format(iClear, "000").ToString).Checked = False
Controls("chkbAdd" & Format(iClear, "000").ToString).ForeColor = Color.Black
Next
End Sub
vorrei creare una SUB dove azzerare gli attributi dei vari controlli checkBox ma nella SUB di seguito mi segnala l'errore "Checked NON è un membro di Control "nella riga
Controls("chkbAdd" & Format(iClear, "000").ToString).Checked = False
mentre la riga successiva è corretta. Qualcuno puoi darmi qualche dritta su come risolvere.
Grazie.
Alberto