2008-12-23 11 views
7

Quiero abrir un cuadro de diálogo de guardar archivo, hacer que el usuario ingrese un nombre de archivo, y si olvidan la extensión .csv, tenerlo anclado.¿Cómo funciona la propiedad AddExtension en C# 2.0?

Parece que la propiedad SaveFileDialog AddExtension funcionaría, pero no es así. Incluso he establecido la propiedad DefaultExt en .csv, y todavía no se ha agregado nada. Mi archivo se guarda bien, pero sin extensión, por lo que el usuario no puede simplemente hacer doble clic en el archivo y abrirlo en Excel.

Me falta algo obvio. Esto es lo que tengo

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

Respuesta

12

intente Es usando "csv" para la DefaultExt - También, debe ser using esto (es 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

Como sospechaba, me estaba perdiendo algo obvio. Stack Overflow al rescate de nuevo. Esto probablemente solo salvó mi proyecto de 100 dólares. –

0

No virar en la extensión de el cuadro de diálogo, aunque debería. En su lugar, hace tachuelas en la extensión a sfd.filename cuando se cierra el cuadro de diálogo.

Cuestiones relacionadas