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 controlSaveFileDialog
. UnSaveFileDialog
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 unSaveFileDialog
es:
SaveFileDialog saveDialog = new SaveFileDialog();
El código anterior creará un objeto de cuadro
SaveFileDialog
. Ahora, para mostrar este diálogo, usamos el métodoShowDialog
:saveDialog.showDialog();
- Crear
SaveFileDialog
a través de Diseño. Arrastre y suelte un controlSaveFileDialog
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. - Crear
-
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.
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 objetoStream
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:
Cuando hacemos clic en el botón Guardar archivo
, aparecerá el siguiente cuadro de diálogo emergente:
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.