2017-12-31 64 views
0

Ich versuche, den Inhalt der setting.setting-Datei in DataGridView anzuzeigen.Inhalt der Einstellungsdatei (settings.settings) in DataGridView bearbeiten

Ich habe erfolgreich dabei, indem sie die Daten unter Verwendung von Binding Bindung als

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

folgt diesen Code verwenden, meine Datagridview wird mit den Standardwerten gefüllt, wie unten

enter image description here

Setting Name ist nur lesbar.
Settings Value ist editierbar.

Ich habe eine Save Schaltfläche auf dem Formular zur Verfügung gestellt, die Kontrolle an den Benutzer zu geben, in folgenden Code hat das OnClick Ereignis

Properties.user.Default.Save(); 

Die Idee ist, eine einfache Schnittstelle mit den Einstellungen zu ändern.

Leider funktioniert das nicht. Save Schaltfläche ändert nicht die Werte in settings.settings Datei und die geänderten Daten nicht zwischen den Anwendungen läuft weiter.

Meine Fragen:

  1. Was mache ich falsch?
  2. Wie kann ich dieses Ding arbeiten lassen?

Jungs jede Hilfe wird wirklich geschätzt.

+0

Haben Sie die Einstellungen als Benutzereinstellungen und nicht als App-Einstellungen markiert? –

+0

@HeribertoLugo: ja es ist "Benutzer" -Einstellungen –

+0

Benutzerbereichseinstellungen werden nicht in der Einstellungsdatei gespeichert, die Sie im Anwendungsordner sehen, obwohl es seltsam ist, dass Sie sich beschweren, dass die Einstellungen nicht zwischen App-Läufen erhalten bleiben. Haben Sie versucht, Ihre App außerhalb der Debugumgebung im Freigabemodus zu erstellen und auszuführen, um zu sehen, ob das Ergebnis anders ist? I.e.Klicken Sie nicht auf Play in Visual Studio, erstellen Sie die App und doppelklicken Sie dann auf die EXE wie ein Benutzer, ändern Sie einige Einstellungen und starten Sie die App per Doppelklick, wie ein Benutzer würde –

Antwort

0

Wenn ein Property mit auch in Ordnung ist:

  1. ein Property hinzufügen aus der Toolbox auf das Formular
  2. Doppelklicken Sie auf das Formular klicken Sie auf das Ereignis Form_Load erstellen
  3. propertyGrid1.SelectedObject = Properties.Settings.Default; propertyGrid1.BrowsableAttributes = new AttributeCollection(new UserScopedSettingAttribute());
  4. Klicken Sie auf Hinzufügen PropertyGrid und Erstellen des PropertyValueChanged-Ereignisses
  5. Hinzufügen Properties.Settings.Default.Save();
  6. Spielen Sie mit Designer herum, um das PropertyGrid zu stylen, z. Dock, PropertySort, HelpVisible, ToolbarVisible

-Code sollte wie folgt aussehen:

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(); 
     } 
    } 
} 

Wenn die Einstellungsdatei enthält die Einstellungen mit Scope "User", dann sollten sie angezeigt und gespeichert werden, wenn geändert.

Verwandte Themen