일반 대화 상자를 여는 방법(WPF .NET)

이 문서에서는 WPF(Windows Presentation Foundation)에서 일반적인 시스템 대화 상자를 표시하는 방법을 보여 줍니다. Windows에서는 파일 선택 및 인쇄를 위한 대화 상자를 포함해 모든 애플리케이션에서 공통적으로 사용되는 다양한 종류의 재사용 가능한 대화 상자를 구현합니다.

이러한 대화 상자는 운영 체제에서 제공되므로 운영 체제에서 실행되는 모든 애플리케이션 간에 공유됩니다. 이러한 대화 상자는 일관된 사용자 환경을 제공하며 “일반 대화 상자”라고 합니다. 사용자는 한 애플리케이션에서 일반 대화 상자를 사용하므로 다른 애플리케이션에서 해당 대화 상자를 사용하는 방법을 배울 필요가 없습니다.

메시지 상자는 또 다른 일반 대화 상자입니다. 자세한 내용은 메시지 상자를 여는 방법을 참조하세요.

파일 열기 대화 상자

파일 열기 대화 상자는 파일 열기 기능에서 열려는 파일의 이름을 검색할 때 사용됩니다.

WPF 애플리케이션에서 표시된 파일을 검색할 위치를 보여주는 열기 대화 상자입니다.

일반 파일 열기 대화 상자는 OpenFileDialog 클래스로 구현되며 Microsoft.Win32 네임스페이스에 있습니다. 다음 코드는 대화를 만들고, 구성하고, 표시하는 방법을 보여줍니다.

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

파일 열기 대화 상자에 대한 자세한 내용은 Microsoft.Win32.OpenFileDialog를 참조하세요.

파일 저장 대화 상자

파일 저장 대화 상자는 파일 저장 기능에서 저장하려는 파일의 이름을 검색할 때 사용됩니다.

WPF 애플리케이션에서 표시된 파일을 저장할 위치를 보여주는 다른 이름으로 저장 대화 상자입니다.

일반 파일 저장 대화 상자는 SaveFileDialog 클래스로 구현되며 Microsoft.Win32 네임스페이스에 있습니다. 다음 코드는 대화를 만들고, 구성하고, 표시하는 방법을 보여줍니다.

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

파일 저장 대화 상자에 대한 자세한 내용은 Microsoft.Win32.SaveFileDialog를 참조하세요.

폴더 열기 대화 상자

Important

폴더 열기 대화 상자는 .NET 8.0 이상에서 사용할 수 있습니다.

폴더 열기 대화 상자는 사용자가 하나 이상의 폴더를 선택하여 프로그램에 반환하는 데 사용합니다. 예를 들어 프로그램에서 폴더에 있는 파일 용량 및 파일 이름과 같은 폴더에 대한 정보를 표시하는 경우 폴더 열기 대화 상자를 사용하여 사용자가 폴더를 선택할 수 있게 할 수 있습니다.

WPF 애플리케이션에서 표시된 카메라 롤 폴더가 선택된 사진 폴더를 보여주는 폴더 열기 대화 상자.

일반 폴더 열기 대화 상자는 OpenFolderDialog 클래스로 구현되며 Microsoft.Win32 네임스페이스에 있습니다. 다음 코드는 대화를 만들고, 구성하고, 표시하는 방법을 보여줍니다.

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

폴더 열기 대화 상자에 대한 자세한 내용은 Microsoft.Win32.OpenFolderDialog를 참조하세요.

인쇄 대화 상자는 인쇄 기능에서 사용자가 데이터를 인쇄하려는 프린터를 선택하고 구성할 때 사용됩니다.

WPF 애플리케이션에서 표시된 인쇄 대화 상자입니다.

일반 인쇄 대화 상자는 PrintDialog 클래스로 구현되며 System.Windows.Controls 네임스페이스에 있습니다. 다음 코드에서는 만들고, 구성하고, 표시하는 방법을 보여 줍니다.

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

인쇄 대화 상자에 대한 자세한 내용은 System.Windows.Controls.PrintDialog를 참조하세요. WPF에서의 인쇄에 대한 자세한 내용은 인쇄 개요를 참조하세요.

참고 항목