Cómo abrir un cuadro de diálogo común (WPF .NET)
En este artículo se muestra cómo puede mostrar un cuadro de diálogo del sistema común en Windows Presentation Foundation (WPF). Windows implementa diferentes tipos de cuadros de diálogo reutilizables que son comunes a todas las aplicaciones, incluidos los cuadros de diálogo para seleccionar archivos e imprimir.
Dado que el sistema operativo proporciona estos cuadros de diálogo, se comparten entre todas las aplicaciones que se ejecutan en el sistema operativo. Estos cuadros de diálogo proporcionan una experiencia de usuario coherente y se conocen como cuadros de diálogo comunes. Como un usuario usa un cuadro de diálogo común en una aplicación, no necesita aprender a usar ese cuadro de diálogo en otras aplicaciones.
Un cuadro de mensaje es otro cuadro de diálogo común. Para obtener más información, consulte Cómo abrir un cuadro de mensaje.
Abrir archivo (cuadro de diálogo)
La funcionalidad para abrir archivos usa el cuadro de diálogo para abrir archivos para recuperar el nombre de un archivo que se va a abrir.
El cuadro de diálogo común para abrir un archivo se implementa como la clase OpenFileDialog y se encuentra en el espacio de nombres Microsoft.Win32. En el siguiente código se muestra cómo crear, configurar y mostrar el cuadro de diálogo.
// Configure open file dialog box
var dialog = new Microsoft.Win32.OpenFileDialog();
dialog.FileName = "Document"; // Default file name
dialog.DefaultExt = ".txt"; // Default file extension
dialog.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension
// Show open file dialog box
bool? result = dialog.ShowDialog();
// Process open file dialog box results
if (result == true)
{
// Open document
string filename = dialog.FileName;
}
' Configure open file dialog box
Dim dialog As New Microsoft.Win32.OpenFileDialog()
dialog.FileName = "Document" ' Default file name
dialog.DefaultExt = ".txt" ' Default file extension
dialog.Filter = "Text documents (.txt)|*.txt" ' Filter files by extension
' Show open file dialog box
Dim result As Boolean? = dialog.ShowDialog()
' Process open file dialog box results
If result = True Then
' Open document
Dim filename As String = dialog.FileName
End If
Para obtener más información sobre el cuadro de diálogo para abrir archivos, vea Microsoft.Win32.OpenFileDialog.
Guardar archivo (cuadro de diálogo)
La funcionalidad de guardado de archivos usa el cuadro de diálogo para guardar archivos para recuperar el nombre de un archivo que se va a guardar.
El cuadro de diálogo común para guardar archivos se implementa como la clase SaveFileDialog y se encuentra en el espacio de nombres Microsoft.Win32. En el siguiente código se muestra cómo crear, configurar y mostrar el cuadro de diálogo.
// Configure save file dialog box
var dialog = new Microsoft.Win32.SaveFileDialog();
dialog.FileName = "Document"; // Default file name
dialog.DefaultExt = ".txt"; // Default file extension
dialog.Filter = "Text documents (.txt)|*.txt"; // Filter files by extension
// Show save file dialog box
bool? result = dialog.ShowDialog();
// Process save file dialog box results
if (result == true)
{
// Save document
string filename = dialog.FileName;
}
' Configure save file dialog box
Dim dialog As New Microsoft.Win32.SaveFileDialog()
dialog.FileName = "Document" ' Default file name
dialog.DefaultExt = ".txt" ' Default file extension
dialog.Filter = "Text documents (.txt)|*.txt" ' Filter files by extension
' Show save file dialog box
Dim result As Boolean? = dialog.ShowDialog()
' Process save file dialog box results
If result = True Then
' Save document
Dim filename As String = dialog.FileName
End If
Para obtener más información sobre el cuadro de diálogo Guardar archivo, vea Microsoft.Win32.SaveFileDialog.
Cuadro de diálogo Abrir carpeta
Importante
El cuadro de diálogo Abrir carpeta está disponible en .NET 8.0 y versiones posteriores.
El usuario usa el cuadro de diálogo Abrir carpeta para seleccionar una o varias carpetas y devolverlas al programa. Por ejemplo, si el programa muestra información sobre una carpeta, como la cantidad de archivos y los nombres de archivo de la carpeta, puedes usar el cuadro de diálogo Abrir carpeta para permitir al usuario elegir la carpeta.
El cuadro de diálogo común Abrir carpeta se implementa como la clase OpenFolderDialog y se encuentra en el espacio de nombres Microsoft.Win32. En el siguiente código se muestra cómo crear, configurar y mostrar el cuadro de diálogo.
// Configure open folder dialog box
Microsoft.Win32.OpenFolderDialog dialog = new();
dialog.Multiselect = false;
dialog.Title = "Select a folder";
// Show open folder dialog box
bool? result = dialog.ShowDialog();
// Process open folder dialog box results
if (result == true)
{
// Get the selected folder
string fullPathToFolder = dialog.FolderName;
string folderNameOnly = dialog.SafeFolderName;
}
' Configure open folder dialog box
Dim dialog As New Microsoft.Win32.OpenFolderDialog()
dialog.Multiselect = True
dialog.Title = "Select a folder"
' Show open folder dialog box
Dim result As Boolean? = dialog.ShowDialog()
' Process open folder dialog box results
If result = True Then
' Get multiple folder names
For index = 0 To dialog.FolderNames.Length
' Get the selected folder
Dim fullPathToFolder As String = dialog.FolderNames(index)
Dim folderNameOnly As String = dialog.SafeFolderNames(index)
Next
End If
Para obtener más información sobre el cuadro de diálogo Abrir carpeta, consulta Microsoft.Win32.OpenFolderDialog.
Cuadro de diálogo Imprimir
La funcionalidad de impresión usa el cuadro de diálogo de impresión para elegir y configurar la impresora en la que un usuario desea imprimir datos.
El cuadro de diálogo común de impresión se implementa como la clase PrintDialog y se encuentra en el espacio de nombres System.Windows.Controls. En el siguiente código se muestra cómo crear, configurar y mostrar uno.
// Configure printer dialog box
var dialog = new System.Windows.Controls.PrintDialog();
dialog.PageRangeSelection = System.Windows.Controls.PageRangeSelection.AllPages;
dialog.UserPageRangeEnabled = true;
// Show save file dialog box
bool? result = dialog.ShowDialog();
// Process save file dialog box results
if (result == true)
{
// Document was printed
}
' Configure printer dialog box
Dim dialog As New System.Windows.Controls.PrintDialog()
dialog.PageRangeSelection = System.Windows.Controls.PageRangeSelection.AllPages
dialog.UserPageRangeEnabled = True
' Show save file dialog box
Dim result As Boolean? = dialog.ShowDialog()
' Process save file dialog box results
If result = True Then
' Document was printed
End If
Para obtener más información sobre el cuadro de diálogo de impresión, vea System.Windows.Controls.PrintDialog. Para obtener información detallada sobre la impresión en WPF, vea Información general sobre impresión.
Vea también
.NET Desktop feedback