Como abrir uma caixa de diálogo comum (WPF .NET)

Este artigo demonstra como você pode exibir uma caixa de diálogo do sistema comum no Windows Presentation Foundation (WPF). O Windows implementa diferentes tipos de caixas de diálogo reutilizáveis que são comuns a todos os aplicativos, incluindo caixas de diálogo para selecionar arquivos e impressão.

Como essas caixas de diálogo são fornecidas pelo sistema operacional, elas são compartilhadas entre todos os aplicativos executados no sistema operacional. Essas caixas de diálogo fornecem uma experiência de usuário consistente e são conhecidas como caixas de diálogo comuns. Como um usuário usa uma caixa de diálogo comum em um aplicativo, ele não precisa aprender a usar essa caixa de diálogo em outros aplicativos.

Uma caixa de mensagem é outra caixa de diálogo comum. Para obter mais informações, consulte Como abrir uma caixa de mensagem.

Caixa de diálogo Abrir arquivo

A caixa de diálogo abrir arquivo é usada pela funcionalidade de abertura de arquivo para recuperar o nome de um arquivo a ser aberto.

An Open dialog box showing the location to retrieve the file shown from a WPF application.

A caixa de diálogo de arquivo aberto comum é implementada como a OpenFileDialog classe e está localizada no Microsoft.Win32 namespace. O código a seguir mostra como criar, configurar e mostrar a caixa 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 obter mais informações sobre a caixa de diálogo Abrir arquivo, consulte Microsoft.Win32.OpenFileDialog.

caixa de diálogo Salvar Arquivo

A caixa de diálogo Salvar arquivo é usada pela funcionalidade de salvamento de arquivo para recuperar o nome de um arquivo a ser salvo.

A Save As dialog box showing the location to save the file shown from a WPF application.

A caixa de diálogo comum salvar arquivo é implementada como a SaveFileDialog classe e está localizada no Microsoft.Win32 namespace. O código a seguir mostra como criar, configurar e mostrar a caixa 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 obter mais informações sobre a caixa de diálogo Salvar arquivo, consulte Microsoft.Win32.SaveFileDialog.

Caixa de diálogo Abrir pasta

Importante

A caixa de diálogo Abrir pasta está disponível no .NET 8.0 e posterior.

A caixa de diálogo Abrir pasta é usada pelo usuário para selecionar uma ou mais pastas e retorná-las ao programa. Por exemplo, se o programa exibiu informações sobre uma pasta, como a quantidade de arquivos e os nomes de arquivo na pasta, você pode usar a caixa de diálogo Abrir pasta para permitir que o usuário escolha a pasta.

An Open Folder dialog box showing the Pictures folder with the Camera Roll folder selected, shown from a WPF application.

A caixa de diálogo de pasta aberta comum é implementada como a OpenFolderDialog classe e está localizada no Microsoft.Win32 namespace. O código a seguir mostra como criar, configurar e mostrar a caixa 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 obter mais informações sobre a caixa de diálogo de pasta aberta, consulte Microsoft.Win32.OpenFolderDialog.

A caixa de diálogo de impressão é usada pela funcionalidade de impressão para escolher e configurar a impressora na qual um usuário deseja imprimir dados.

A print dialog box shown from a WPF application.

A caixa de diálogo de impressão comum é implementada como a PrintDialog classe e está localizada no System.Windows.Controls namespace. O código a seguir mostra como criar, configurar e mostrar uma.

// 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 obter mais informações sobre a caixa de diálogo de impressão, consulte System.Windows.Controls.PrintDialog. Para obter uma discussão detalhada sobre a impressão no WPF, consulte Visão geral da impressão.

Confira também