Ich bin mir nicht sicher, was ich in diese while-Schleife einfügen muss (oder ob es einen besseren Weg gibt), um alle Elemente in der itemsListBox zur Datei hinzuzufügen. Im Moment (ohne jede while-Schleife vor writer.writeline) fügt es nur das letzte Element zur Datei hinzu. Das Programm soll Elemente zu einem Listenfeld hinzufügen und sie in einer Datei speichern und dann beim erneuten Öffnen des Programms laden. Es hat auch eine Beschriftung, die die Anzahl der Elemente in der Listbox verfolgt.Hinzufügen mehrerer Elemente zu einer Datei
private const string TO_DO_LIST = "to-do-list.txt";
public Form1()
{
InitializeComponent();
}
private void enterButton_Click(object sender, EventArgs e)
{
AddItem();
}
private void AddItem()
{
itemsList.Items.Add(itemsBox.Text);
numberOfItemsLabel.Text = itemsList.Items.Count.ToString();
SaveItem();
}
private void SaveItem()
{
StreamWriter writer = File.CreateText(TO_DO_LIST);
string newItem = itemsBox.Text;
while()//???
{
writer.WriteLine(newItem);
}
writer.Close();
}
private void Form1_Load(object sender, EventArgs e)
{
try
{
StreamReader reader = File.OpenText(TO_DO_LIST);
while (!reader.EndOfStream)
{
itemsList.Items.Add(reader.ReadLine());
}
}
catch (FileNotFoundException ex)
{
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
dieses irgendwie ändert sich nichts, doch etwas fehlt mir ganz einfach: Dies kann mit dem
Cast<string>()
Verfahren, kombiniert mitToList()
erfolgen –