Problema con una CheckBOX : Checked NON è un membro di Control

di il
6 risposte

Problema con una CheckBOX : Checked NON è un membro di Control

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

6 Risposte

Devi accedere o registrarti per scrivere nel forum
6 risposte