2008-12-23 4 views
7

Je veux ouvrir une boîte de dialogue de sauvegarde de fichier, demander à l'utilisateur d'entrer un nom de fichier et, s'il oublie l'extension .csv, l'activer.Comment la propriété AddExtension fonctionne-t-elle dans C# 2.0?

Il semblerait que la propriété SaveFileDialog AddExtension fonctionnerait, mais ce n'est pas le cas. J'ai même mis la propriété DefaultExt à .csv, et toujours rien ne se coince dessus. Mon fichier est sauvegardé très bien, mais sans extension, donc l'utilisateur ne peut pas simplement double-cliquer sur le fichier et l'ouvrir dans Excel.

Je dois manquer quelque chose d'évident. Voici ce que j'ai

 SaveFileDialog sfd = new SaveFileDialog(); 
     sfd.DefaultExt = "*.csv"; 
     sfd.Filter = "Comma Separated(*.csv)|*.*"; 
     if (sfd.ShowDialog() == DialogResult.OK) 
     { 
      // Do my file saving 
     } 

Répondre

12

Essayez juste en utilisant "csv" pour la DefaultExt - aussi, vous devriez être using ce (il est IDisposable):

 using (SaveFileDialog sfd = new SaveFileDialog()) 
     { 
      sfd.AddExtension = true; 
      sfd.DefaultExt = "csv"; 
      sfd.Filter = "Comma Separated(*.csv)|*.*"; 
      if (sfd.ShowDialog() == DialogResult.OK) 
      { 
       // Do my file saving 
      } 
     } 
+0

Comme je me doutais, il me manquait quelque chose d'évident. Stack Overflow à la rescousse à nouveau. Cela a probablement juste sauvé mon projet de 100 dollars. –

0

Il n'amure pas sur l'extension la boîte de dialogue, bien qu'il devrait. Au lieu de cela, il attache sur l'extension à sfd.filename lorsque la boîte de dialogue se ferme.

Questions connexes