Witam,
Mam do zrealizowania prosty projekt w języku C#.
W skrócie o programie: tworzymy klasę z kilkoma polami. Obiekty tej klasy mają znaleźć się w listboxie - muszę więc stworzyć buttony typu dodaj/edytuj/usuń obiekt oraz zapis do pliku i wczytanie z pliku.
Takim przyciskiem realizuję zapis do pliku:
const string sPath = "save.txt";
StreamWriter SaveFile = new StreamWriter(sPath);
foreach (var item in listbox1.Items)
{
SaveFile.WriteLine(item);
}
SaveFile.Close();
MessageBox.Show("Tekst.");
Taki natomiast kod mam w przycisku wczytaj:
listbox1.DataSource = null;
listbox1.Items.Clear();
listbox1.DataSource = null;
listbox1.Items.AddRange(File.ReadAllLines("save.txt"));
MessageBox.Show("Tekst");
Jaki jest problem?
Zapis się realizuje.
Lista obiektów zostaje wczytana.
W momencie jednak, jak zaznaczę którykolwiek z wczytanych obiektów i zechcę go edytować - następuje problem i wywala program, błąd typu że nie można przekonwertować (normalnie edycja działa). Dodatkowo jak dodam nowy obiekt do listy, to wczytana lista znika i pojawia się wyłącznie dodany po wczytaniu listy obiekt.
Inny błąd -> Dodam powiedzmy 2 obiekty. Zapiszę je. Dodam obiekt X. Wczytam poprzednie (ten przed chwilą dodany obiekt X znika, pojawiają się tylko te wczytane). Dodam kolejny obiekt Y -> wczytane obiekty znikają, teraz na liście znajduje się dodany wcześniej obiekt X oraz przed chwilą dodany obiekt Y. Czy jest ktoś w stanie pomóc mi rozwiązać ten problem, proszę tylko wziąć pod uwagę, że jestem początkujący jeśli chodzi o programowanie i chętnie przyjmę łopatologiczne wskazówki. :D