[winform] 폼 데이터 저장 및 불러오기(Properties 사용)

728x90

응용 프로그램을 만들다보면 데이터베이스에 저장하기 애매한 데이터들이 있습니다.

 

환경설정 정보등 처음 한번만 저장하고 이후에는 변경만 가능한 값들을 예시로 들 수 있습니다.

 

이러한 데이터들은 properties에 저장해놓을 수 있습니다.

 

사용방법

솔루션 탐색기에서 Settings.setting를 더블클릭합니다.

 

 

 

 

 

 

 

이 폼이 로드될때 정보를 가져오도록 하겠습니다.

 

폼 로드시 코드는 아래와 같습니다.

private void Form1_Load(object sender, EventArgs e)
{
    label1.Text = Properties.Settings.Default.name; //yj.code

    checkBox1.Checked = Properties.Settings.Default.option; // true

    textBox1.Text = Convert.ToString(Properties.Settings.Default.number); //10
                
}

 

실행결과

 

저장옵션변경 버튼 클릭시 properties 값을 변경하도록 하겠습니다.

 

코드는 아래와 같습니다. (위 코드를 반대로 한다고 생각하시면 됩니다.)

private void button1_Click(object sender, EventArgs e)
{
    Properties.Settings.Default.name = label1.Text;
    Properties.Settings.Default.option = checkBox1.Checked;
    Properties.Settings.Default.number = Convert.ToInt32(textBox1.Text);

    Properties.Settings.Default.Save();

    MessageBox.Show("properties가 변경됨");
}

 

 

저장옵션변경을 클릭한 후 다시 로드하면 변경된 값이 출력됩니다.

 

아래는 전체코드입니다.

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

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

        private void Form1_Load(object sender, EventArgs e)
        {
            label1.Text = Properties.Settings.Default.name; //yj.code

            checkBox1.Checked = Properties.Settings.Default.option; // true

            textBox1.Text = Convert.ToString(Properties.Settings.Default.number);
                        
        }

        private void button1_Click(object sender, EventArgs e)
        {
            Properties.Settings.Default.name = label1.Text;
            Properties.Settings.Default.option = checkBox1.Checked;
            Properties.Settings.Default.number = Convert.ToInt32(textBox1.Text);

            Properties.Settings.Default.Save();

            MessageBox.Show("properties가 변경됨");
        }
    }
}