Como abrir uma caixa de diálogo comum (WPF .NET)
Este artigo demonstra como você pode exibir uma caixa de diálogo comum do sistema 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 imprimir.
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 de arquivo aberto é usada pela funcionalidade de abertura de arquivo para recuperar o nome de um arquivo a ser aberto.
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 de 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 caixa de diálogo de arquivo de salvamento comum é 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 devolvê-las ao programa. Por exemplo, se o programa exibiu informações sobre uma pasta, como a quantidade de arquivos e os nomes dos arquivos na pasta, você poderá usar a caixa de diálogo Abrir Pasta para permitir que o usuário escolha a pasta.
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.
caixa de diálogo Imprimir
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 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
.NET Desktop feedback