C#의 파일 저장 대화 상자

Naila Saad Siddiqui 2024년2월15일
  1. C#SaveFileDialog 클래스
  2. 결론
C#의 파일 저장 대화 상자

이 간단한 가이드는 C#에서 SaveFileDialog 클래스를 사용하여 C# 앱에서 Windows 파일 스토리지로 파일을 저장하는 방법에 관한 것입니다.

C#SaveFileDialog 클래스

사용자는 SaveFileDialog 구성 요소를 사용하여 파일 시스템을 탐색하고 저장할 파일을 선택할 수 있습니다. 대화 상자에는 사용자가 선택한 파일의 이름과 경로가 표시됩니다.

파일을 디스크에 쓰려면 코드를 작성해야 합니다.

SaveFileDialog 클래스 사용 단계

  • 첫 번째 단계는 Windows Form 애플리케이션을 만들고 SaveFileDialog 컨트롤을 추가하는 것입니다.

    런타임에 코드에서 SaveFileDialog 클래스를 사용하거나 디자인 타임에 양식 디자이너를 사용하여 SaveFileDialog 컨트롤을 만들 수 있습니다. SaveFileDialog에는 다른 Windows Forms 컨트롤과 같은 시각적 속성이 없으며 필요하지도 않습니다.

    디자인 보기 또는 명시적 코드를 통해 SaveFileDialog 컨트롤을 만들 수 있습니다. 두 가지 방법을 모두 살펴보겠습니다.

    • 코드를 통해 SaveFileDialog를 만듭니다. SaveFileDialog를 만드는 코드는 다음과 같습니다.
    SaveFileDialog saveDialog = new SaveFileDialog();
    

    위의 코드는 SaveFileDialog 상자 개체를 생성합니다. 이제 이 대화 상자를 표시하기 위해 ShowDialog 메서드를 사용합니다.

    saveDialog.showDialog();
    
    • 디자인을 통해 SaveFileDialog를 만듭니다. 디자인 타임에 SaveFileDialog 컨트롤을 만들려면 도구 상자에서 Visual Studio의 Form으로 SaveFileDialog 컨트롤을 끌어다 놓습니다.

    아래 그림은 Form에 드래그 앤 드롭한 후의 SaveFileDialog를 보여줍니다.

    Save File Dialog Control

  • 두 번째 단계는 SaveFileDialog의 일부 속성을 설정하는 것입니다. 코딩 요구 사항에 따라 사용할 수 있는 다양한 속성이 있습니다.

    속성 창을 통해 속성을 설정하는 것이 가장 간단한 옵션입니다. 아래 그림은 속성 창의 모습을 보여줍니다.

    파일 저장 대화 상자 속성

    이 창에서 다른 속성을 설정할 수 있습니다. 이러한 속성 중 일부에 대해 논의해 보겠습니다. -

    초기 디렉토리

    초기 디렉터리 속성은 파일 저장을 위한 대화 상자가 나타날 때 열릴 기본 디렉터리를 지정합니다. 이 속성은 위에 표시된 속성 창이나 다음과 같은 코드를 통해 설정할 수 있습니다.

    saveDialog.InitialDirectory = @"D:/New Folder";
    

    ‘제목’

    제목 속성은 파일 저장을 위해 나타나는 대화 상자에 표시할 제목을 설정합니다.

    saveDialog.Title = "Save Your File Here";
    

    ‘필터’

    파일 저장 대화 상자의 필터 속성은 파일 저장 대화 상자를 사용하여 저장할 수 있는 파일 종류를 제한합니다. 예를 들어 사용자를 제한하려는 경우 이진 .bin 파일을 저장하기 위한 필터 옵션만 지정할 수 있습니다.

    saveDialog.Filter = "bin files (*.bin)|*.bin|All files (*.*)|*.*";
    

    다음은 파일 저장을 위해 설정할 수 있는 일부 속성입니다. 다른 많은 것들이 있지만 이 기사에서는 이러한 중요한 것들에 대해 논의할 것입니다.

  • 속성을 설정한 후 파일을 디스크에 저장하는 코드를 작성할 수 있습니다. 이를 위해 OpenFile 방법이 사용됩니다. 이 메서드는 파일을 디스크에 저장하는 데 사용할 수 있는 Stream 개체를 반환합니다.
    Stream fileStream;
    if (saveDialog.ShowDialog() == DialogResult.OK) {
      if ((fileStream = saveDialog.OpenFile()) != null) {
        // You can write the code to write the file here.
        fileStream.Close();
      }
    }
    

이제 전체 코드를 요약하여 파일을 저장해 보겠습니다.

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.IO;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace WinFormsApp1 {
  public partial class Form1 : Form {
    public Form1() {
      InitializeComponent();
    }

    private void button1_Click(object sender, EventArgs e) {
      SaveFileDialog saveDialog = new SaveFileDialog();
      saveDialog.InitialDirectory = @"C:\Users\user01\OneDrive\Documents";
      saveDialog.Title = "Save Your File Here";
      saveDialog.Filter = "bin files (*.bin)|*.bin|All files (*.*)|*.*";
      Stream fileStream;
      if (saveDialog.ShowDialog() == DialogResult.OK) {
        if ((fileStream = saveDialog.OpenFile()) != null) {
          // You can write the code to write the file here.
          fileStream.Close();
        }
      }
    }
  }
}

버튼을 클릭하면 저장 대화 상자가 열리도록 버튼의 클릭 이벤트에 이 코드를 작성했습니다. 그러면 다음과 같은 출력이 생성됩니다.

파일 저장 대화 상자 출력 1

파일 저장 버튼을 클릭하면 다음 팝업 대화 상자가 나타납니다.

파일 저장 대화 상자 출력 2

위치가 “Documents” 폴더로 설정되어 있고 파일 유형이 “Bin 파일"로 설정되어 있는 대화 상자를 볼 수 있습니다.

결론

사용자는 Windows 파일 저장 대화 상자를 시작하고 SaveFileDialog 컨트롤을 사용하여 파일을 저장할 수 있습니다. 이 문서에서는 Windows 파일 저장 대화 상자를 사용하고 Windows Forms 애플리케이션에서 해당 속성을 구성하는 방법에 대해 설명했습니다.

관련 문장 - Csharp GUI