선생님, 개발을 잘하고 싶어요.

c# winform properties settings 를 활용한 손쉬운 어플리케이션 세팅 프로그래밍 본문

개발/c# winform

c# winform properties settings 를 활용한 손쉬운 어플리케이션 세팅 프로그래밍

알고싶은 승민 2019. 1. 24. 14:07

예제 프로그램


윈도우 프로그램을 만들다보면 프로그램을 껏다 켜도 유지되야하는 세팅들이 있다. 이러한 세팅을 하기 위해 외부에 커스텀 세팅 파일을 제작하고, 프로그램 시작할때마다 불러오고, 변경할때마다 저장하는 식으로 구현이 가능하다.


하지만 winform에서는 더 쉽게 접근할 수 있다. 바로 properties에 있는 settings 가 그것이다.


 배경화면 색이 변경되고, 다음번에 킬 때도 마지막으로 설정한 색의 배경화면으로 켜지는 예제 프로그램을 만들면서 settings 의 기본 사용법을 알아보자.


1. 세팅 설정


winform 프로젝트에 solution explore를 보면 Properties - Settings.settings 를 누른다.




생성하고 싶은 속성의 이름 - 타입 - 초기값을 지정한다.


2. 설정한 세팅 읽기


설정을 했으면 프로그램이 시작되었을때 각종 설정 값들로 GUI를 수정하려 할 것이다. 그러려면  Settings.settings에 설정한 값을 읽어드려야 한다. 다음과 같이 읽는다.



Properties.Settings.Default 에 Background 속성은 1번에서 당신이 추가한 Name을 기반으로 자동 생성된다. 원하는 속성을 만들고, 읽는데 1번 이상의 노력은 필요하지 않다.


3. 세팅 설정하기


세팅값은 사용자가 변경할 수 있다. 사실, 변경가능한 세팅값이기 때문에 기억해 뒀다가 다음에 프로그램이 켜질때 알아야 하는 것이다. 세팅을 설정하는 방법은 다음과 같다.



그냥 속성에 값을 써주는 것과 같은형태다. 버튼을 누를때마다 랜덤한 컬러를 새팅하도록 제작하였다. 이렇게 속성값을 대입연산자를 사용해 변경해 준이후에 실제로 Settings.settings 파일에 적용시키는 작업을 해야한다. 그 역할을 하는 함수가 바로 Properties.Settings.Default.Save() 이다. 까먹지 말고 꼭 호출시켜 주자.


4. 세팅이 바뀔때 GUI에 바로 적용하기


마지막으로 세팅이 변경되서 GUI에 적용하려면 Settings.settings 파일이 변경될 때를 추적해야 한다. C#에서는 이런 상황을 event 로 처리한다. Properties.Settings.Default에 기본적으로 등록된 이벤트들은 3개가 있고 그중 두 가지만 살펴보자.


- SettingsSaving : 우리가 세팅값을 저장한 이후에 호출된다.

- SettingChanging => 세팅값이 변경될 때, 호출된다. 즉 이때 설정한 세팅을 읽으면 예전 값이 나온다.


우리는 세팅값을 저장한 이후에 변경 완료된 세팅값으로 다시 배경화면을 변경시켜 보자.



Default_SettingsSaving 에서 BackColor를 세팅값으로 세팅해주고 있다. 고로 우리가 버튼을 누를때마다 변경되는 세팅값을 반영할 수 있게된다.


동작이 궁금하다면 위에 올린 링크를 따라가서 한 번 빌드해서 이것저것 변경해보고 각자 본인 프로젝트에 적용하면 좋을것이다.




Comments