Wątek przeniesiony 2014-08-12 10:16 z C# i .NET przez ŁF.

Pobieranie itemów z ListBoxa

0

Hejka!
Mam problem i potrzebuję pomocy. Zrobiłem sobie listboxa, dodaję do niego elementy poprzez textbox.items.add() i tu się pojawia problem.
W jaki sposób zebrać wszystkie elementy listboxa tak żeby je zapisać jeden za drugim w pliku?

foreach(string s in listbox.items)
{ ... }

działa tylko na ostatni element, jest jakaś możliwość zindeksowania kolejnych elementów?

dodanie znacznika <code class="csharp"> - furious programming

1

Pokaż co dodajesz do listbox'a. Może trzeba po prostu zrzutować na string'a listbox.items w foreach.

0

Do listboxa dodaję zawartość pól tekstowych, więc za każdym razem ta wartość jest inna.

E: Problem chyba rozwiązałem, zrobię sobie listę stringów, wydaje się całkiem spoko takie coś

1

Powinno przelecieć po wszystkich elementach, widocznie albo nie dodajesz wszystkich elementów do lisboxa albo zapisujesz do pliku podstawiając za starą wartość zamiast dopisywać nową.

0

@dam1an rzeczywiście, po prostu nadpisywałem wartość i zostawał ostatnio element.
Poradziłem sobie w taki sposób:

 
List<string> s = new List<string();
foreach(string str in listbox.items)
    s.Add(str);
0

I co Ci z tego przyszło?
Z jednej kolekcji przepisałeś elementy do drugiej niemalże identycznej kolekcji

Równie dobrze mogłeś napisać:

List<string> s = listbox.Items.OfType<string>().ToList();

ale to nadal bez sensu

0

Sens w tym taki, że naokoło, ale jednak sobie poradziłem i mogłem iść z pisaniem dalej ^^

1 użytkowników online, w tym zalogowanych: 0, gości: 1