Cuadro de diálogo Guardar archivo en C#

Naila Saad Siddiqui 12 octubre 2023
  1. Clase SaveFileDialog en C#
  2. Conclusión
Cuadro de diálogo Guardar archivo en C#

Esta guía trivial trata sobre el uso de la clase SaveFileDialog en C# para guardar el archivo de su aplicación C# en el almacenamiento de archivos de Windows.

Clase SaveFileDialog en C#

Los usuarios pueden navegar por el sistema de archivos y elegir qué archivos guardar utilizando el componente SaveFileDialog. El cuadro de diálogo devuelve el nombre y la ruta del archivo que el usuario seleccionó allí.

Para escribir los archivos en el disco, debe escribir el código.

Pasos para usar la clase SaveFileDialog

  • El primer paso es crear una aplicación de formulario de Windows y agregar un control SaveFileDialog.

    Usando la clase SaveFileDialog en el código en tiempo de ejecución o el diseñador de formularios en tiempo de diseño, podemos crear un control SaveFileDialog. Un SaveFileDialog no tiene y no es necesario que tenga propiedades visuales como otros controles de Windows Forms.

    Podemos crear un control SaveFileDialog a través de la vista de diseño o el código explícito. Echemos un vistazo a ambos métodos:

    • Crear SaveFileDialog a través de código. El código para crear un SaveFileDialog es:
    SaveFileDialog saveDialog = new SaveFileDialog();
    

    El código anterior creará un objeto de cuadro SaveFileDialog. Ahora, para mostrar este diálogo, usamos el método ShowDialog:

    saveDialog.showDialog();
    
    • Crear SaveFileDialog a través de Diseño. Arrastre y suelte un control SaveFileDialog desde el cuadro de herramientas a un formulario en Visual Studio para crear un control SaveFileDialog en tiempo de diseño.

    La siguiente figura muestra el SaveFileDialog después de soltarlo arrastrando y soltando en un formulario.

    Control de cuadro de diálogo Guardar archivo

  • El segundo paso es establecer algunas propiedades del SaveFileDialog. Hay diferentes propiedades disponibles que se pueden usar de acuerdo con sus requisitos de codificación.

    Establecer propiedades a través de la ventana Propiedades es la opción más sencilla. La siguiente figura muestra cómo se ve la ventana Propiedades.

    Propiedades del cuadro de diálogo Guardar archivo

    En esta ventana se pueden establecer diferentes propiedades. Analicemos algunas de estas propiedades: -

    Directorio inicial

    La propiedad Directorio inicial especifica el directorio predeterminado que se abrirá cuando aparezca el cuadro de diálogo para guardar el archivo. Esta propiedad se puede configurar desde la ventana de propiedades que se muestra arriba o mediante un código como este:

    saveDialog.InitialDirectory = @"D:/New Folder";
    

    Título

    La propiedad Título establece el título que se mostrará en el cuadro de diálogo que aparece para guardar el archivo:

    saveDialog.Title = "Save Your File Here";
    

    Filtro

    La propiedad filtro en un diálogo de guardar archivo restringe los tipos de archivos que se pueden guardar usando un diálogo de guardar archivo. Por ejemplo, podemos especificar la opción Filtro solo para guardar archivos binarios .bin si desea que los usuarios estén restringidos a ellos.

    saveDialog.Filter = "bin files (*.bin)|*.bin|All files (*.*)|*.*";
    

    Estas son algunas propiedades que se pueden configurar para guardar el archivo. Hay muchos otros, pero discutiremos estos importantes en este artículo.

  • Una vez que haya establecido las propiedades, puede escribir el código para guardar el archivo en el disco. Para ello se utiliza el método OpenFile. Este método devuelve un objeto Stream que se puede utilizar para guardar el archivo en un disco.
    Stream fileStream;
    if (saveDialog.ShowDialog() == DialogResult.OK) {
      if ((fileStream = saveDialog.OpenFile()) != null) {
        // You can write the code to write the file here.
        fileStream.Close();
      }
    }
    

Ahora resumamos el código completo aquí para guardar un archivo:

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WinFormsApp1 {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e) {
      SaveFileDialog saveDialog = new SaveFileDialog();
      saveDialog.InitialDirectory = @"C:\Users\user01\OneDrive\Documents";
      saveDialog.Title = "Save Your File Here";
      saveDialog.Filter = "bin files (*.bin)|*.bin|All files (*.*)|*.*";
      Stream fileStream;
      if (saveDialog.ShowDialog() == DialogResult.OK) {
        if ((fileStream = saveDialog.OpenFile()) != null) {
          // You can write the code to write the file here.
          fileStream.Close();
        }
      }
    }
  }
}

Hemos escrito este código en el evento de clic de un botón para que cuando se haga clic en un botón, se abra el cuadro de diálogo Guardar. Esto generará la siguiente salida:

Diálogo Guardar archivo Salida 1

Cuando hacemos clic en el botón Guardar archivo, aparecerá el siguiente cuadro de diálogo emergente:

Diálogo Guardar archivo Salida 2

Puede ver en el cuadro de diálogo que la ubicación está configurada en la carpeta “Documentos” y el tipo de archivo está configurado en “Archivos bin”.

Conclusión

Los usuarios pueden iniciar el cuadro de diálogo Guardar archivo de Windows y guardar archivos usando un control SaveFileDialog. Este artículo trata sobre el uso de un cuadro de diálogo Guardar archivo de Windows y la configuración de sus propiedades en una aplicación de Windows Forms.

Artículo relacionado - Csharp GUI