2017-12-31 49 views
0

DataGridView에서 settings.setting 파일의 내용을 표시하려고합니다.DataGridView에서 설정 파일 (settings.settings)의 내용을 편집하십시오.

내 DataGridView에 아래와 같이 기본 값으로 생성됩니다,이 코드를 사용하여

 BindingSource bindingSource1 = new BindingSource(); 
     bindingSource1.DataSource = Properties.user.Default.Properties; 
     settingsDataGridView.DataSource = bindingSource1; 

을 다음과 같이 BindingSource에를 사용하여 데이터를 바인딩하여 이렇게에 성공했다

enter image description here

Setting Name 읽기 전용입니다.
Settings Value을 편집 할 수 있습니다.

나는 아이디어는 간단한 인터페이스를 사용하여 설정을 변경하려면 사용자에게 제어를 제공하는 것입니다 OnClick 이벤트를 에

Properties.user.Default.Save(); 

를 코드를 다음의 한 형태에 Save 버튼을 제공하고 있습니다.

불행히도,이 트릭을하지 않습니다. Save 단추는 settings.settings 파일의 값을 변경하지 않으며 응용 프로그램 실행간에 수정 된 데이터가 지속되지 않습니다.

내 질문 : 내가 잘못 뭐하는 거지

  1. ?
  2. 어떻게하면이 기능을 사용할 수 있습니까?

모든 도움은 정말로 감사하겠습니다.

+0

설정을 앱 설정이 아닌 사용자 설정으로 표시 했습니까? –

+0

@HeribertoLugo : 예 그것은 "사용자"설정입니다. –

+0

사용자 범위 설정은 응용 프로그램 폴더에 표시되는 설정 파일에 저장되지 않지만, 응용 프로그램 실행간에 설정이 유지되지 않는다는 불평이 있습니다. 디버깅 환경 외부에서 릴리스 모드로 앱을 빌드하고 실행하고 결과가 다른지 확인하려고 했습니까? 나는.비주얼 스튜디오에서 Play를 클릭하지 말고 앱을 만든 다음 사용자와 같이 exe를 두 번 클릭하고 일부 설정을 변경하고 두 번 클릭하여 앱을 다시 시작하십시오. –

답변

0

PropertyGrid가를 사용하여도 괜찮 경우 :

  1. 폼에 도구 상자에서 PropertyGrid가 추가
  2. 더블
  3. 가에 propertyGrid1.SelectedObject = Properties.Settings.Default; propertyGrid1.BrowsableAttributes = new AttributeCollection(new UserScopedSettingAttribute());
  4. 클릭 추가 Form_Load 이벤트를 생성하기 위해 양식을 클릭 PropertyGrid를 만들고 PropertyValueChanged 이벤트를 만듭니다.
  5. 추가 Properties.Settings.Default.Save();
  6. 예 : PropertyGrid의 스타일을 지정하기 위해 Designer에서 놀아보십시오. 독, PropertySort, HelpVisible, ToolbarVisible

코드는 다음과 유사해야합니다

using System; 
using System.ComponentModel; 
using System.Configuration; 
using System.Windows.Forms; 

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

     private void Form1_Load(object sender, EventArgs e) 
     { 
      propertyGrid1.SelectedObject = Properties.Settings.Default; 
      propertyGrid1.BrowsableAttributes = new AttributeCollection(new UserScopedSettingAttribute()); 
     } 

     private void propertyGrid1_PropertyValueChanged(object s, PropertyValueChangedEventArgs e) 
     { 
      Properties.Settings.Default.Save(); 
     } 
    } 
} 

을 설정 파일이 그때 그들은 표시 변경 한 경우 저장해야합니다 범위 "사용자"로 설정을 포함합니다.

관련 문제