webForumDet fria alternativet

Behöver hjälp med att öppna fil i listbox!

.NET

5 svar · 1 134 visningar · startad av Gramas19

Medlem sedan dec. 201250 inlägg
Frågan#1

Hej! Jag har ett stort problem. Jag håller på med ett program där jag ska kunna skriva olika saker som jag kan lägga till i en listbox. Jag har lärt mig hur man sparar och öppnar filer med hjälp av SaveFileDialog och OpenFileDialog osv. Problemet är att jag vill kunna göra detta med listbox också men det funkar inte? Har googlat i säkert 4 timmar nu och jag lyckades hitta en sak som får det att sparas men jag kan fortfarande inte öppna filen. (Detta är tänkt att flera ska kunna använda)

Någon som har någon idé på vad jag skulle kunna göra?

        private void openToolStripMenuItem_Click(object sender, EventArgs e)
        {
            

        }

        private void saveToolStripMenuItem_Click(object sender, EventArgs e)
        {

            var saveFile = new SaveFileDialog();
            saveFile.Filter = "Text (*.txt)|*.txt";
            if (saveFile.ShowDialog() == System.Windows.Forms.DialogResult.OK)
            {
                using (var sw = new StreamWriter(saveFile.FileName, false))
                    foreach (var item in listBox2.Items)
                        sw.Write(item.ToString() + Environment.NewLine);
                MessageBox.Show("File saved!", "Saved");
            }
            
        }

Det är koden. Det som är innanför openToolStripMenu är det jag behöver få fixat!

Medlem sedan dec. 2004736 inlägg
#2
using (StreamReader stream = new StreamReader(dinFil)) {
    string item;

    while ((item = stream.ReadLine()) != null) {
        listBox2.Items.Add(item);
    }
}

Du får lägga till koden som krävs för att öppna filen via en OpenFileDialog(). Vad som händer sen är att jag öppnar en stream mot filen, läser ut en ny rad så länge det finns en och lägger till den i listan.

Medlem sedan dec. 201250 inlägg
#3

Testade med ditt, ändrade även dinfil till min string som i detta fall är Choosen_File. Det funkade dock inte, får ett error vid

while ((item = stream.ReadLine()) != null)

det säger att det inte får vara null eller en tom sökväg, jag ändrade även lite för att testa olika saker men det värkar inte fungera :S

Medlem sedan dec. 2004736 inlägg
#4

Jag skrev ett litet program, följande kod fungerar för mig för att läsa tillbaka informationen till listan:

            var openFile = new OpenFileDialog();
            openFile.Filter = "Text (*.txt)|*.txt";
            if (openFile.ShowDialog() == System.Windows.Forms.DialogResult.OK) {
                using (var sr = new StreamReader(openFile.FileName)) {
                    string item;

                    while ((item = sr.ReadLine()) != null) {
                        listBox2.Items.Add(item);
                    }
                }
            }
Medlem sedan dec. 201250 inlägg
#5

Tack så himla mycket! =) Precis vad jag behövde :)

Medlem sedan dec. 2004736 inlägg
#6

Kul! Markera gärna inlägget som löst.

255 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
123 ms — deklarationer (db)
0 ms — hämta statistik (cache)
129 ms — hämta tråd, inlägg och bilagor (db)
123 ms — ändringar (db)