Permitir al usuario escoger un fichero para guardarlo

2154 vistas

El componente System.Windows.Form.SaveFileDialog permite al usuario escoger interactivamente un fichero con el fin de usarlo para guardar datos.

Veamos un ejemplo que permite guardar en un fichero el contenido de un RichTextBox.



csharp
  1. private void button1_Click(object sender, System.EventArgs e)
  2. {
  3.     // pedimos confirmación
  4.     if (MessageBox.Show(this,
  5.                         "¿Realmente quiere guardar el documento?",
  6.                         "GUARDAR",
  7.                         MessageBoxButtons.YesNo,
  8.                         MessageBoxIcon.Question) == DialogResult.No)
  9.         return;
  10.     // Guardado del documento
  11.     saveFileDialog1.Title = "Guardar";
  12.     saveFileDialog1.DefaultExt = "txt";
  13.     saveFileDialog1.Filter = "Ficheros de texto (*.txt)|*.txt|Todos los ficheros (*.*)|*.*";
  14.     saveFileDialog1.FilterIndex = 1;
  15.     // mostramos cuadro de diálogo de guardar
  16.     if (saveFileDialog1.ShowDialog(this) == DialogResult.OK)
  17.     {
  18.         // StreamWriter para escribir en el fichero seleccionado
  19.         StreamWriter sw = new StreamWriter(saveFileDialog1.OpenFile(), Encoding.Default);
  20.         try
  21.         {
  22.             for (int i=0; i<richTextBox1.Lines.Length; i++)
  23.                 sw.WriteLine(richTextBox1.Lines[i]);
  24.         }
  25.         finally
  26.         {
  27.             // cerramos writer
  28.             if (sw!=null)
  29.               sw.Close();
  30.         } 
  31.     }
  32. }