Oppure

Loading
17/01/12 15:48
danduz97
Buongiorno,
sto sviluppando un programma il quale deve gestire più di 50 textbox, checkbox e buttons e mi scoccia sempre scrivere tutti e 150 ogni volta che devo eseguire una operazione tipo il salvataggio My.Settings... :_doubt: non esiste una specie di "gruppo" nel quale dichiaro i 150 controlli una sola volta per poi applicare le varie funzioni al gruppo e non a tutti i 150 componenti? Esempio:

Di solito per impostare un checkbox faccio in questo modo

        CheckBox1.Checked = False
        CheckBox2.Checked = False
        CheckBox3.Checked = False
        CheckBox4.Checked = False
        CheckBox5.Checked = False
        CheckBox6.Checked = False
        CheckBox7.Checked = False
        CheckBox8.Checked = False
        CheckBox9.Checked = False
        CheckBox10.Checked = False
eccetera...


quello che vorrei è scriverli in un gruppo per poi fare questo:

gruppo_checkbox.Checked = False


Grazie infinite.. :D
Ultima modifica effettuata da danduz97 17/01/12 15:55
aaa
17/01/12 20:30
Snogar
Puoi ciclare tutti i controlli presenti nella form tramite un ciclo for e assegnargli i valori che ti servono.

Esempio:

For Each tuoCONTROLLO As Control In Me.Controls

"Esegui le operazioni sui controlli"

next

----------------------------

Puoi anche creare un array di tuoi controlli e riferirti ad ognuno di loro tramite indice ....forse così è più semplice.

Esempio:

Dim GruppoCheckBox(149) As CheckBox
    
        For indice As Integer = 0 To 149
            GruppoCheckBox(indice).cecked = false
        Next    
Ultima modifica effettuata da Snogar 17/01/12 20:36
aaa
17/01/12 21:06
GN
Postato originariamente da Snogar:

Puoi ciclare tutti i controlli presenti nella form tramite un ciclo for e assegnargli i valori che ti servono.

Esempio:

For Each tuoCONTROLLO As Control In Me.Controls

"Esegui le operazioni sui controlli"

next

----------------------------

Puoi anche creare un array di tuoi controlli e riferirti ad ognuno di loro tramite indice ....forse così è più semplice.

Esempio:

Dim GruppoCheckBox(149) As CheckBox
    
        For indice As Integer = 0 To 149
            GruppoCheckBox(indice).cecked = false
        Next    

Quoto pienamente e aggiungo una cosa: potresti mettere i tuoi controlli in un panel e poi applicare il ciclo al panel, così sei sicuro di non interferire con altri controlli che non centrano.
aaa
18/01/12 14:19
Qwertj
Quoto entrambi sopra e aggiungo un tip :D
Magari invece di usare l'editor crea i controlli dinamicamente, ossia aggiungendo oggetti della classe del controllo (CheckBox, ListBox, TextBox...) all'array Controls dell'elemento in cui sono contenuti (quindi, come ti consigliava GN, al Panel)
Così eviti di impazzire con l'editor che diventa pure lento, e riesci a impostare tutte le proprietà in una sola volta. Oltre a poter variare in qualsiasi momento il numero dei controlli
aaa