2012-08-16 6 views
0

현재 작업중인 응용 프로그램에는 모든 값을 제국에서 미터법으로 변환하도록 설정하거나 해제 할 수있는 환경 설정이 있습니다. 응용 프로그램을 닫았다가 다시 열어도 환경 설정을 저장할 수 있어야합니다. 내가 그것에 대해 생각한 방식은 리소스 (.resx) 파일에서 부울 값을 사용하는 것이 었습니다.이 파일은 상자가 선택되거나 선택 취소 될 때마다 값을 설정할 수있었습니다. 그런 다음 프로그램이 시작되면 bool 리소스 값 (true/false)을 확인하고 그에 따라 확인란을 설정할 수 있습니다.리소스 파일에서 부울 값 사용

제 문제는 bool 또는 Boolean 유형의 리소스를 사용하려고 할 때 응용 프로그램이 충돌하고 메모리 관련 오류가 발생하는 경우 스택 오버플로 예외라고 생각합니다.

제 질문은 자원 [.resx] 파일에서 부울 값을 사용하거나 수정하는 것이 불가능한가요? 아니면 잘못 처리할까요? 가능하지 않다면, 내가하려고하는 일을하기 위해 어떤 대안적인 방법이있을 수 있을까요?

+0

추측을하지 말고 기억에 의존하지 마십시오. 우리가 받고있는 예외를 보여주십시오. –

+0

어떻게 리소스 파일에 데이터를 다시 설정하고 있습니까? –

답변

1

문제가 해결되지 않으면 bool 값으로 이동하지 마십시오.

이동 INT 또는 부울의 문자열 등가물처럼 당신이 다음 INT 선택하는 경우 0 또는 1

bool res = Convert.ToBoolean(1); 

또는

bool res = Convert.ToBoolean(0); 

당신이 문자열을 갈 경우 "true"또는 "false" .

bool res = Convert.ToBoolean("true"); 

또는

bool res = Convert.ToBoolean("false"); 
+0

나는 실제로 바이너리 0/1 옵션을 사용하는 것을 고려해 봤지만 실제로는 '올바른'방법이라고 생각하지 않는다. Convert.ToBoolean() 메서드에 대해서는 알지 못했습니다. 그런 식으로 시도 할 것입니다 ... 감사합니다! –

+0

방금이 방법을 시도했지만 동일한 문제가 있습니다. 자원의 값을 설정하려고하면 StackOverflowException이 발생합니다. 리소스 값을 설정할 수는 없습니까? –

1

User Settings을 만듭니다. 사용하기 쉽고 유형을 처리하기 쉽습니다.