2013-07-31 5 views
1

Bit d'un intrus ici, j'écris une application qui donne une option de fichier de sauvegarde, la boîte de dialogue de fichier de sauvegarde est codé comme normaleEnregistrer fileDialog ne fonctionne pas

SaveFileDialog ofd = new SaveFileDialog(); 

la boîte de dialogue se présente aucun problème et en cliquant sur Enregistrer ne jette aucune erreur mais aucun fichier n'est enregistré et je ne sais pas pourquoi, des idées? Je l'ai googlé et ne peux pas trouver un problème similaire

+0

Quand vous dites pas de fichier est enregistré, je pense que vous comprenez mal l'utilisation de la boîte de dialogue. Pouvez-vous montrer votre code? – James

+0

Vous devez écrire le code pour effectuer vous-même la sauvegarde. Le SaveFileDialog permet juste à l'utilisateur de sélectionner un chemin pour enregistrer le fichier. –

+0

vous devez montrer un peu plus de code, principalement le code où vous affichez le dialogue et enregistrez le fichier – Raidri

Répondre

3

La classe SaveFileDialog ne sauvegarde rien, elle invite l'utilisateur à choisir un emplacement et un nom de fichier pour enregistrer le fichier. Il est votre travail pour enregistrer le fichier

Cet exemple extrait du lien MSDN ci-dessus explique le concept

private void button1_Click(object sender, System.EventArgs e) 
{ 
    Stream myStream ; 
    SaveFileDialog saveFileDialog1 = new SaveFileDialog(); 

    saveFileDialog1.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ; 
    saveFileDialog1.FilterIndex = 2 ; 
    saveFileDialog1.RestoreDirectory = true ; 

    if(saveFileDialog1.ShowDialog() == DialogResult.OK) 
    { 
     if((myStream = saveFileDialog1.OpenFile()) != null) 
     { 
      // Code to write the stream goes here. 
      myStream.Close(); 
     } 
    } 
} 
+0

ah ok, désolé lol mon mauvais – user2546071

+0

J'essaie d'enregistrer dans le fichier en utilisant le code trouvé ici: http: // stackoverflow .com/questions/6674555/export-gridview-data-into-csv-file/17971742 # 17971742 Mais je reçois une erreur disant que RFesponse n'existe pas dans le contexte actuel, est-ce que quelqu'un sait comment résoudre ce problème – user2546071

+0

Ce code est pour un projet ASP.NET où Response est l'objet intrinsèque utilisé pour renvoyer du texte au navigateur client. Vous n'êtes pas dans le même contexte – Steve

0
Stream stream; 
ofd.Filter = "txt files (*.txt)|*.txt|All files (*.*)|*.*" ; 
    ofd.FilterIndex = 2 ; 
    ofd.RestoreDirectory = true ; 

if(ofd.ShowDialog() == DialogResult.OK) 
    { 
     if((stream = ofd.OpenFile()) != null) 
     { 
    //FileStream might be better for you but since i don't know what you write, this will serve as an example 
      stream.Write(bytes,offset,count); 
      stream.Close(); 
     } 
Questions connexes