timkoni Δημοσ. 25 Μαΐου 2016 Δημοσ. 25 Μαΐου 2016 Γεια σας, Σκεφτηκα να διαγραψω ολα τα στοιχεια ενος listbox , χωρις τη μεθοδο : mylistbox.Items.Clear() αλλα με ενα loop , οπως στην παρακατω φωτογραφια. Το θεμα ειναι οτι ενω υπαρχει index 2 στο listbox , εμφανιζεται runtime error που λεει το αντιθετο και δεν με αφηνει να τα διαγραψω Ξερει κανεις γιατι συμβαινει αυτο ;
Tmark Δημοσ. 25 Μαΐου 2016 Δημοσ. 25 Μαΐου 2016 Δεν νομίζω ότι μπορείς να "πειράξεις" ένα collection-enumerable την ώρα που κάνεις iterate πάνω σε αυτό. 1
timkoni Δημοσ. 25 Μαΐου 2016 Μέλος Δημοσ. 25 Μαΐου 2016 Δεν νομίζω ότι μπορείς να "πειράξεις" ένα collection-enumerable την ώρα που κάνεις iterate πάνω σε αυτό. Τελικα βρηκα το λογο, γινεται επειδη οταν διαγραφεις ενα στοιχειο το Index μικραινει και επειδη το loop βασιζεται στο αρχικο index βγαζει runtime error!!! Για να λειτουργησει πρεπει να γινει κατι σαν αυτο : do while not mylistbox.items.count = 0 listbox1.items.removeat(0) loop
albNik Δημοσ. 25 Μαΐου 2016 Δημοσ. 25 Μαΐου 2016 Ξεκινα ανάποδα το μέτρημα (απο count-1 μεχρι 0) ωστε να μην αλλάζουν τα index αυτών που μενουν.
libereas Δημοσ. 25 Μαΐου 2016 Δημοσ. 25 Μαΐου 2016 Σωστό ήταν και το αρχικό σου loop απλά βάλε και εκεί μέσα listbox1.items.removeat(0)
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα