2017-09-29 1 views
0

J'essaie de créer un fichier, ajouter tous les éléments de la liste dans le fichier. SO je peux plus tard ouvrir le fichier et afficher à nouveau tous les éléments de la liste.Enregistrer les éléments ListBox dans le fichier

Mon code actuel ne fonctionne pas, il ne créera pas de fichier ou de sauvegarde dans un fichier existant.

Fonction pour obtenir le nom de thefile créé/chemin

private void mnuFileSaveAs_Click(object sender, EventArgs e) 
    { 
     string fileName = ""; 
     SaveFileDialog sfd = new SaveFileDialog(); 
     if (sfd.ShowDialog() == DialogResult.OK) 
     { 
      if(fileName == String.Empty) 
      { 
       mnuFileSaveAs_Click(sender, e); 
      } 
      else 
      { 
       fileName = sfd.FileName; 
       writeToFile(fileName); 
      } 

     } 

    } 

Fonction écrire dans le fichier

private void writeToFile(string fileName) 
     { 
      System.IO.StreamWriter SaveFile = new System.IO.StreamWriter(fileName); 
      foreach (var item in listBox.Items) 
      { 
       SaveFile.WriteLine(item.ToString()); 
      } 
     } 

enter image description here

+1

et votre question est ...? – ASh

+0

Oh je ne l'ai pas précisé, ça ne marche pas. – Amar

+1

Et pourquoi dupliquer la question? Quelle est exactement la question ici? –

Répondre

2

Eh bien vous ne spécifiez pas l'erreur, mais je pense c'est que ça ne marche pas parce que vous n'avez pas fermé StreamWriter.

using (System.IO.StreamWriter SaveFile = new System.IO.StreamWriter(fileName)) 
{ 
    foreach (var item in listBox.Items) 
     SaveFile.WriteLine(item.ToString()); 
} 

Ou vous pouvez simplement appeler SaveFile.Close() au lieu de using