Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
App. WinForms / WPF .NET
Ciclo su combobox
martedì 23 gennaio 2007 - 11.03
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
MATTEHGT
Profilo
| Junior Member
83
messaggi | Data Invio:
mar 23 gen 2007 - 11:03
Problematica: provo ad inserire in una combo una sequenza di stringhe es "1,2,3,4,5,6,7,8,9,10 ecc" L eprovo ad eliminare una ad una con il metodo Combobox1.items.removeat(x). In questo modo non nessun problema. Se utilizzo un ciclo del tipo
Dim i as integer
for i=0 to 9
Combobox.items.removeat(i)
next
L'applicazione cambia gli indici dei componenti della combo non trovando alcuni indici( eliminando gli stessi manualmente il programma funzionava) e terminando in errore. Ho notato che il ciclo funziona fino all'indice 4, poi l'applicazione va in errore.
Sapete darmi qualche spiegazione di questo?
Grazie
Saluti
Matteo Agrizzi
Giamp72
Profilo
| Junior Member
115
messaggi | Data Invio:
mar 23 gen 2007 - 11:08
il motivo per cui va in errore è semplice!!!
gli indici vengono aggiornati in tempo reale perciò dopo aver eliminato i primi 5 elementi hai
I=5
elementi della combo:
(1) el6
(2) el7
(3) el8
(4) el9
quindi se la tua combo iniziale ha
(1) el 1
(2) el 2
(3) el 3
(4) el 4
e cancelli el 3, accade che
(1) el 1
(2) el 2
(3) el 4
chiaro?
Giamp72
MATTEHGT
Profilo
| Junior Member
83
messaggi | Data Invio:
mar 23 gen 2007 - 11:56
Quindi l'unica soluzione è eliminarli manualmente?
Grazie
Saluti
Giamp72
Profilo
| Junior Member
115
messaggi | Data Invio:
mar 23 gen 2007 - 12:04
nooo!! li puoi eliminare con la key...
guarda questo esempio:
Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
ComboBox1.Items.Add("EL 1")
ComboBox1.Items.Add("EL 2")
ComboBox1.Items.Add("EL 3")
ComboBox1.Items.Add("EL 4")
ComboBox1.Items.Add("EL 5")
End Sub
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
ComboBox1.Items.Remove("EL 3")
End Sub
tutto chiaro?
Giamp72
MATTEHGT
Profilo
| Junior Member
83
messaggi | Data Invio:
mar 23 gen 2007 - 12:11
Quindi non posso applicare nessun ciclo per eliminare gli item dalla combo, perche se ad esempio avessi 30 elementi l'unica soluzione è quella di caricare la combo dal database e azzerare ogni volta il database?
Grazie
Saluti
Giamp72
Profilo
| Junior Member
115
messaggi | Data Invio:
mar 23 gen 2007 - 14:03
avevo capito che dovevi eliminare un elemento specifico..
se devi azzerare tutto basta fare:
ComboBox1.Items.Clear
oppure un'altro metodo è
While ComboBox1.Items.Count > 0
ComboBox1.Items.RemoveAt(0)
End While
ciao
Giamp72
totti240282
Profilo
| Guru
1.574
messaggi | Data Invio:
mar 23 gen 2007 - 14:43
oppure inizi dall'indice max all'indice minimo.
C'è solo un capitano !!!!!!
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !