2014-02-25 5 views
2

모든 사용자에 대해 읽기/쓰기 및 동일하게 응용 프로그램/사용자 설정을 할 수있는 방법이 있어야한다는 것을 알고 있습니다. 나는 공장에 설치된 자동 레이저 마킹 머신을위한 코드를 작성한다. 나는 코드가모든 사용자에 대한 사용자 설정

 private void _btnApply_Click(object sender, EventArgs e) 
    { 
     Settings.Default.IOCOM = comboIOCOM.Text; 
     Settings.Default.TLoc = tbTLoc.Text; 
     Settings.Default.Save(); 
    } 

로 간단되고 싶어하지만 난 .config 파일은 각 사용자의 폴더에 저장하고 싶지 않아요. 모든 사용자가 동일한 설정을 사용하도록하고 싶습니다. 내가 VS 2010 자동

+1

버튼에 불과하고 코드에 원하는 설정을 하드 코딩 할 수 없습니까? 그렇게하면 누가 응용 프로그램을 실행하든 관계없이 아무 것도 변경할 수 없습니다. – Annabelle

답변

0

내가 생각해 낸 해결책은 EF와 SQLite를 사용하여 내 응용 프로그램의 모든 설정을 저장하는 것입니다. 이렇게하면 DB에서 모델로로드하고 DB 파일을 원하는 위치에 저장할 수 있습니다. 또한 SQL의 구조와 구성을 얻었으며 XML 파일의 모든 직렬화를 건너 뛸 수 있습니다. 또한 DB 파일은 일반 텍스트가 아니기 때문에 권한이없는 사용자가 메모장을 사용하여 설정을 변경하지 못하도록 제한 할 수 있습니다.

2

하지 사용하고 \ 및 폴더 또한

: 응답 할 때 명심해야 할

일이 로그인하는 사용자가 관리자는 C에 대한 권한이 것입니다 user.config 또는 app.config처럼 그러나이를 수행하는 방법은 CommonApplicationData 폴더를 찾으려면 Environment.GetFolderPath(을 사용하는 것입니다.

일반 설정 클래스와 마찬가지로 사용자 설정 클래스를 사용합니다.

+0

xml 파일의 모양과 코드에서 XML의 값을 사용하는 방법에 대한 예를 들어 주시겠습니까? – bkjames

+0

이 설정을 여전히 사용합니까? spIO.PortName = Settings.Default.IOCOM; ? – bkjames

+0

@bkjames 질문에 대한 첫 번째 질문은 user.config 또는 app.config와 매우 비슷합니다. 기본값에 대해서도 그렇게 할 수는 있지만 자동적이지 않기 때문에'Default' 속성으로 설정을 만들고로드해야합니다. 이미 사용자 또는 앱 설정이있는 프로젝트 중 하나에서 'Settings.Designer.cs'를보고 속성을 처리하는 방법을 보려면'ApplicationSettingsBase' 내부에서 코드를 다시 작성해야합니다. 제가 여러분에게 준 코드는 완전한 해결책은 아니지만, 올바른 방향으로 나아갈 수 있도록하기위한 것입니다. –

관련 문제