Jak otworzyć typowe okno dialogowe (WPF .NET)

W tym artykule pokazano, jak można wyświetlić typowe okno dialogowe systemu w programie Windows Presentation Foundation (WPF). System Windows implementuje różne rodzaje okien dialogowych wielokrotnego użytku, które są wspólne dla wszystkich aplikacji, w tym okna dialogowe do wybierania plików i drukowania.

Ponieważ te okna dialogowe są udostępniane przez system operacyjny, są one współużytkowane przez wszystkie aplikacje uruchamiane w systemie operacyjnym. Te okna dialogowe zapewniają spójne środowisko użytkownika i są nazywane typowymi oknami dialogowymi. Ponieważ użytkownik używa wspólnego okna dialogowego w jednej aplikacji, nie musi dowiedzieć się, jak używać tego okna dialogowego w innych aplikacjach.

Okno komunikatu to inne typowe okno dialogowe. Aby uzyskać więcej informacji, zobacz Jak otworzyć okno komunikatu.

Okno dialogowe Otwieranie pliku

Otwarte okno dialogowe pliku jest używane przez funkcję otwierania pliku w celu pobrania nazwy pliku do otwarcia.

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

Typowe otwarte okno dialogowe pliku jest implementowane jako OpenFileDialog klasa i znajduje się w Microsoft.Win32 przestrzeni nazw. Poniższy kod przedstawia sposób tworzenia, konfigurowania i wyświetlania okna dialogowego.

// 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

Aby uzyskać więcej informacji na temat okna dialogowego otwierania pliku, zobacz Microsoft.Win32.OpenFileDialog.

Zapisz Plik — Okno dialogowe

Okno dialogowe zapisywania pliku jest używane przez funkcję zapisywania plików w celu pobrania nazwy pliku do zapisania.

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

Typowe okno dialogowe zapisywania pliku jest implementowane jako SaveFileDialog klasa i znajduje się w Microsoft.Win32 przestrzeni nazw. Poniższy kod przedstawia sposób tworzenia, konfigurowania i wyświetlania okna dialogowego.

// 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

Aby uzyskać więcej informacji na temat okna dialogowego zapisywania pliku, zobacz Microsoft.Win32.SaveFileDialog.

Okno dialogowe Otwieranie folderu

Ważne

Okno dialogowe Otwieranie folderu jest dostępne w programie .NET 8.0 lub nowszym.

Okno dialogowe Otwieranie folderu jest używane przez użytkownika do wybierania co najmniej jednego folderu i zwracania ich do programu. Jeśli na przykład program wyświetli informacje o folderze, takim jak ilość plików i nazwy plików w folderze, możesz użyć okna dialogowego Otwórz folder, aby umożliwić użytkownikowi wybranie folderu.

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

Wspólne okno dialogowe otwartego folderu jest implementowane jako OpenFolderDialog klasa i znajduje się w Microsoft.Win32 przestrzeni nazw. Poniższy kod przedstawia sposób tworzenia, konfigurowania i wyświetlania okna dialogowego.

// 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

Aby uzyskać więcej informacji na temat okna dialogowego otwierania folderu, zobacz Microsoft.Win32.OpenFolderDialog.

Okno dialogowe drukowania jest używane przez funkcję drukowania, aby wybrać i skonfigurować drukarkę, do której użytkownik chce drukować dane.

A print dialog box shown from a WPF application.

Wspólne okno dialogowe drukowania jest implementowane jako PrintDialog klasa i znajduje się w System.Windows.Controls przestrzeni nazw. Poniższy kod pokazuje, jak utworzyć, skonfigurować i pokazać go.

// 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

Aby uzyskać więcej informacji na temat okna dialogowego drukowania, zobacz System.Windows.Controls.PrintDialog. Aby uzyskać szczegółowe omówienie drukowania w WPF, zobacz Omówienie drukowania.

Zobacz też