+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 11

checkbox in ciclo for each

  1. #1
    gnappi non è in linea Novello
    Ho necessità di ripulire una parte del mio form, che contiene -tra l'altro- alcune checkbox.
    Non so come variare lo stato da true a false nel ciclo For each.

                For Each c As Control In NuovaDichiarazione.TableLayoutPanel6.Controls
                    If TypeOf c Is TextBox Or TypeOf c Is ComboBox Then
                        c.ResetText()
                    End If
                    If TypeOf c Is CheckBox Then
                                 ???
                    End If
                Next
    
    Potete aiutarmi?
    Grazie.

  2. #2
    Scusa ma non ti basta

    c.Checked=False

    ?
    ℹ️ Leggi di più su AntonioG ...

  3. #3
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    L'operatore TypeOf andrebbe abbandonato in favore del metodo GetType:
    If c.GetType Is GetType(CheckBox)
    
    ℹ️ Leggi di più su Brontolo ...

  4. #4
    gnappi non è in linea Novello
    Quote Originariamente inviato da AntonioG Visualizza il messaggio
    Scusa ma non ti basta

    c.Checked=False

    ?
    No.Non accetta checked.Purtroppo!

  5. #5
    gnappi non è in linea Novello
    Grazie mille.Lo uso da subito.

  6. #6
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Devi tipizzare c.
    Dim cb as CheckBox = DirectCast(c, CheckBox)
    
    ℹ️ Leggi di più su Brontolo ...

  7. #7
    gnappi non è in linea Novello
    Quote Originariamente inviato da brontolo Visualizza il messaggio
    devi tipizzare c.
    dim cb as checkbox = directcast(c, checkbox)
    
    funziona! Grazieeee!

  8. #8
    Quote Originariamente inviato da gnappi Visualizza il messaggio
    No.Non accetta checked.Purtroppo!
    Non ti sei chiesto perché? Come accennato da Brontolo, puoi scrivere direttamente

    DirectCast(c, CheckBox).Checked = False
    ℹ️ Leggi di più su AntonioG ...

  9. #9
    Quote Originariamente inviato da Brontolo Visualizza il messaggio
    L'operatore TypeOf andrebbe abbandonato in favore del metodo GetType:
    If c.GetType Is GetType(CheckBox)
    
    Scusa Brontolo ma l'operatore TypeOf non mi risulta essere stato deprecato

    Il confronto eseguito con TypeOf è diverso dal confronto eseguito con GetType, per cui quest'ultimo non sostituisce il primo.

    TypeOf esegue una valutazione di "compatibilità", a differenza dell'istruzione con GetType, che invece esegue una valutazione di "uguaglianza".
    C'è quindi una differenza, perchè con TypeOf è possibile ottenere una valutazione TRUE anche nel caso in cui si confronti un Tipo A che eredita da un Tipo B (Es: un controllo personalizzato che eredita da CheckBox)

    Ovviamente non è detto che serva in questo contesto, però GetType secondo me non esclude l'uso di TypeOf.

    So anche che esistono i metodi Type.IsSubClassOf e Type.IsAssignableFrom per verificare la relazione di ereditarietà tra le istanze, ma se Microsoft non lo vieta, non vedo perchè non utilizzare il più semplice ed immediato TypeOf all'occorrenza
    ℹ️ Leggi di più su Fix ...

  10. #10
    L'avatar di Brontolo
    Brontolo non è in linea Very Important Person
    Non so se sia deprecato o no, ma mi sembra comunque un retaggio di VB6 infatti sta nel namespace Visual Basic.

    P.S. Ma se siete proprio voi che mi rimproverate di non voler abbandonare VB6!
    ℹ️ Leggi di più su Brontolo ...

+ Rispondi al messaggio
Pagina 1 di 2 12 ultimoultimo

Potrebbero interessarti anche ...

  1. Innescare un ciclo Do a seguito di un altro ciclo do... ?
    Da Dls369 nel forum Microsoft Excel
    Risposte: 3
    Ultimo Post: 16-03-2012, 20:18
  2. Ciclo DO dentro un altro ciclo DO
    Da Arcor nel forum Microsoft Word
    Risposte: 4
    Ultimo Post: 22-06-2011, 00:10
  3. Risposte: 7
    Ultimo Post: 22-03-2011, 08:47
  4. ciclo for sui checkbox [EXCEL]
    Da aikras nel forum Microsoft Excel
    Risposte: 3
    Ultimo Post: 13-04-2010, 17:28
  5. Risposte: 4
    Ultimo Post: 19-10-2009, 23:00