C#

(C#) 파일 저장하기 대화상자 SaveFileDialog

코딩ABC 2023. 6. 9. 09:00
반응형

저장하기 대화상자를 나타내고, 저장할 파일명을 가져옵니다.

저장하기 대화상자는 다음과 같은 모양입니다.

저장하기 대화상자 SaveFileDialog

 

다음 예제는 저장하기 대화상자를 나타내고, 텍스트 박스에서 입력한 내용을 저장하기 대화상자에서 선택한 이름으로 텍스트를 저장하는 예제입니다.

 

1. 프로젝트를 생성합니다.

- Windows Forms 앱

 

2. 폼에 버튼 1개, 텍스트 박스 1개를 배치합니다.

TextBox의 MultiLine 속성을 "true"로 설정합니다.

 

3. 버튼의 Click 이벤트에 코드를 작성합니다.

using System;
using System.IO;
using System.Windows.Forms;

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

        private void button1_Click(object sender, EventArgs e)
        {
            SaveFileDialog saveFileDialog1 = new SaveFileDialog();

            saveFileDialog1.Filter = "텍스트 파일|*.txt|모든 파일|*.*";
            saveFileDialog1.FilterIndex = 1;

            // 대화상자를 닫기 전에 디렉토리를 이전에 선택한 디렉토리로
            // 복원한지의 여부를 나타납니다.
            saveFileDialog1.RestoreDirectory = true;

            // 확장명을 입력하지 않을 때, 자동으로 확장자를 추가할 수 있습니다.
            saveFileDialog1.AddExtension = true;
            saveFileDialog1.DefaultExt = "txt";

            // 파일이 이미 존재하면 덮어쓰기 할지를 묻는 대화상자를 표시합니다.
            // 기본값: true
            saveFileDialog1.OverwritePrompt = true;

            // 저장할 위치의 초기 디렉토리를 설정합니다.
            // Environment.CurrentDirectory: 현재 디렉토리를 나타냅니다.
            saveFileDialog1.InitialDirectory = Environment.CurrentDirectory;

            if (saveFileDialog1.ShowDialog() == DialogResult.OK)
            {
                this.Text = saveFileDialog1.FileName;
                using (StreamWriter sw = new StreamWriter(saveFileDialog1.FileName))
                {
                    sw.Write(textBox1.Text);
                }
            }
        }
    }
}

저장하기 대화상자 SaveFileDialog
저장하기 대화상자 SaveFileDialog

 

반응형