Newsgroup: it.comp.lang.visual-basic
Titolo: matrice di combobox

so che sto x farvi una domanda che a voi sembrera' stupida e certamente lo
e' ma.... mi si e' incantato il cervello!!!!
x caricare su 25 combobox
diverse gli stessi elementi devo creare x forza una matrice???
se la
risposta e' si.... come faccio a farlo se ho gia' disegnato le combo???
grazie e buon lavoro a tutti
--------------------------------
Inviato via 
http://usenet.iol.it

 ha scritto nel messaggio
news:62Z110Z141Z230Y...@usenet.iol.it...

Ciao
1 - Vai sulle proprieta dei combo alla voce Index e li metti da 1 a 25
1b - Fai uno stupidissimo
    For i = 1 To 25
        FormDeiCombo.NomeCombo.Index = i
    Next
2 - Fai uno stupidissimo
    For i = 1 To 25
        FormDeiCombo.NomeCombo(i).AddItem Var
    Next
Ti conviene farlo a manina su tutti i combo (opz. 1) perchè altrimenti devi
sempre caricare i combo con l'indice e se ti dimentichi son dolori.......
JKLJKL :-)

si ma x esigenze del progetto(altrimenti non ci capisco piu' niente) devo
mantenere diversi i nomi delle combobox!!!!
come faccio????
grazie(sempre
piu' stupida)


 risposta e' si.... come faccio a farlo se ho gia' disegnato le combo???
'Il seguente codice inserisce in tutti i ComboBox presenti nel Form
'a prescindere dal nome, con gli stessi 10 elementi
'(Item0, Item1, ..., Item9):
    Dim intCnt As Integer
    Dim cbo As Control
    For intCnt = 0 To 9
        For Each cbo In Me.Controls
            If TypeOf cbo Is ComboBox Then
                cbo.AddItem "Item" & intCnt
            End If
        Next
    Next
Ciao!
--
Esteban
Hosted by 
www.seber.it
(Remove nonspammare for reply)

l'ho fatto ma in esecuzione le combo non si aprono piu'!!!
dove ho
sbagliato?


scusa volevo dire se ne carica una sola x 30 volte!!!
dove ho sbagliato???
ti scrivo il codice:
dim intcnt as integer
dim cbo as control
for
intcnt=0 to 29
     for each cbo in me.controls
         if typeof cbo is
combobox then
             cbo.additem "buono" & intcnt
cbo.additem "ottimo" & intcnt
         end if
     next
next


 next
Ho copiato ed incollato il tuo codice in un nuovo progetto con 3 ComboBox e il
risultato č:
ho tutti e 3 i ComboBox che contengono gli stessi 60 elementi (30 'buono' (da 0
a 29) e 30 'ottimo' (da 0 a 29)).
Non era quello che volevi?


scusami forse non mi ero spiegata bene!!!
devo caricare in 30 combo
diverse gli stessi due elementi(buono e ottimo) ma in ogni combo ci sono 2
elementi


 elementi
Beh, la soluzione che ti ho già mandato fa al caso tuo!!!
Il ciclo For..Next più esterno serviva solo per generare vari item con nome
diverso (simulando p.e. la lettura di un recordset).
Se gli item che ti servono sono solo due, allora togli il ciclo esterno:
    Dim cbo As Control
    For Each cbo In Me.Controls
        If TypeOf cbo Is ComboBox Then
            cbo.AddItem "Buono"
            cbo.AddItem "Ottimo"
        End If
    Next
Ciao!


 come faccio????
Se usando array di controlli hai (giustamente) paura di non capirci più nulla,
allora definisci delle costanti!
Mi spiego meglio:
è chiaro che questo codice è più leggibile:
cboNome.AddItem ...
cboSocieta.AdDItem ...
cboCitta.AddItem ...
cboNazione.AddItem ...
...
di questo:
cboCombo(0).AddItem ...
cboCombo(1).AddItem ...
cboCombo(2).AddItem ...
cboCombo(3).AddItem ...
ma se definisci delle costanti:
Const conNome = 0
Const conSocieta = 1
Const conCitta = 2
Const conNazione = 3
...
allora nel codice puoi scrivere:
cboCombo(conNome).AddItem ...
cboCombo(conSocieta).AddItem ...
cboCombo(conCitta).AddItem ...
cboCombo(conNazione).AddItem ...
...
Chiaro?


il problema era soltanto che ho fatto l'errore di usare le combobox(con i
relativi nomi) gia' molte volte prima di caricarle quindi se cambio adesso
il nome devo cambiarlo anche dove l'avevo usato prima capisci???!!!
ma mi
armero' di santa pazienza e lo faro' sembra che questo sia l'unico modo!!!
grazie comunque e buon lavoro


 armero' di santa pazienza e lo faro' sembra che questo sia l'unico modo!!!
Ma hai già letto la mia risposta nell'altro ramo di questo thread?


scusami!!!!prob. mi si sta fondendo il cervello!!!!
spero che mi funzioni
poi ti faccio sapere!!!
grazie
