VB.NET 2008/VB - 리소스 액세스

응용 프로그램 액세스 - 응용 프로그램 설정 액세스

본클라쓰 2011. 7. 1. 11:01

 

My.Settings 개체의 속성을 사용하면 응용 프로그램의 설정에 액세스할 수 있다. 설정을 추가하거나 제거하려면 프로젝트 디자이너를 사용한다.

 

My.Settings 개체는 각 설정을 속성으로 노출한다. 속성 이름은 설정 이름과 같고 속성 형식은 설정 형식과 같다. 설정의 범위에 따라 속성이 읽기 전용인지 결정된다. 응용 프로그램 범위 설정의 속성은 읽기 전용인 반면 사용자 범위 설정의 속성은 읽기/쓰기이다.

 

사용자 설정의 속성 표를 만들 때는 PropertyGrid 컨트롤을 My.Settings 개체의 사용자 설정 속성으로 채워서 사용자 설정의 속성표를 만들 수 있다.

 

PropertyGrid 컨트롤을 사용하여 My.Settings 개체의 사용자 설정 속성에 액세한다. 기본적으로 PropertyGrid는 My.Settings 개체의 모든 속성을 표싷나다. 하지만 사용자 설정 속성에 UserScopedSettingAttribute 특성이 있다. 아래의 예제는 PropertyGrid의 BrowsableAttributes 속성을 UserScopedSettingAttribute로 설정하여 사용자 설정 속성만 표시한다.

 

PropertyGrid1.SelectedObject = My.Settings

 

Dim userAtt As New System.Configuration.UserScopedSettingAttribute

Dim attrs As New System.ComponentModel.AttributeCollection(userAtt)

PropertyGrid1.BrowsableAttribute = attrs

 

 

 

My.Settings 개체의 설정 속성에 새 값을 할당하여 사용자 설정을 변경할 수 있다.

 

이 때 사용자 범위 설정 값은 런타임에 변경하고 저장할 수 있지만, 응용 프로그램 범위 설정은 읽기 전용이므로 프로그래밍 방식으로 변경할 수 없다. 응용 프로그램 범위 설정은 응용 프로그램의 구성 파일을 편집하거나 프로젝트 디자이너를 사용하여 응용 프로그램을 만들 때 변경할 수 있다.

 

이 예제는 NickName 사용자 설정의 값을 변경한다.

 

Sub ChangeNickName(ByVal newNickName As String)

    My.Settings.NickName = newNickName

End Sub

 

 

 

My.Settings.Save 메서드를 사용하면 변경 내용을 사용자 설정으로 유지할 수 있다.

 

일반적으로 응용 프로그램은 종료될 때 변경 내용을 사용자 설정에 유지하도록 설계된다. 이것은 몇몇 요인에 따라 설정을 저장하는데 몇 초의 시간이 걸릴 수 있기 때문이다.

 

이 예제는 LastChanged 사용자 설정의 값을 변경하고, My.Settings.Save 메서드를 호출하여 이 변경 내용을 저장한다.

 

Sub ChangeAndPersistSettings()

    My.Settings.LastChanged = Today

    My.Settings.Save()

End Sub