2016-08-01 19 views
0

Ich bin gerade dabei, eine Anwendung zu erstellen, wo der Benutzer Ankündigungen erstellen kann. Ich möchte die Benutzeransagen speichern und habe alles versucht, um die Benutzereingaben in Form einer Einstellung zu speichern. Irgendwelche Vorschläge/verschiedene Methoden zum Speichern von Benutzereingaben würden geschätzt werden.Probleme beim Hinzufügen von Elementen zu einem Array in den settings.settings

Aktuelle Vertonung

Mein Versuch das Hinzufügen neuer "Ansagen":

private void button1_Click(object sender, EventArgs e) 
{ 
    Properties.Settings.Default.Title[Properties.Settings.Default.MessageNum] = textBox1.Text; 
    Properties.Settings.Default.Message[Properties.Settings.Default.MessageNum] = textBox2.Text; 
    Properties.Settings.Default.MessageNum++; 
    Properties.Settings.Default.Save(); 
} 

Fehler geworfen

{ "Objektverweis nicht auf eine Instanz eines Objekts festgelegt. "}

Settings.settings XML-Datei wie gewünscht

<?xml version='1.0' encoding='utf-8'?> 
<SettingsFile xmlns="http://schemas.microsoft.com/VisualStudio/2004/01/settings" CurrentProfile="(Default)" GeneratedClassNamespace="WindowsFormsApplication1.Properties" GeneratedClassName="Settings"> 
    <Profiles /> 
    <Settings> 
    <Setting Name="Title" Type="System.String[]" Scope="User"> 
     <Value Profile="(Default)" /> 
    </Setting> 
    <Setting Name="Message" Type="System.String[]" Scope="User"> 
     <Value Profile="(Default)" /> 
    </Setting> 
    <Setting Name="MessageNum" Type="System.Int32" Scope="User"> 
     <Value Profile="(Default)">0</Value> 
    </Setting> 
    </Settings> 
</SettingsFile> 

Antwort

0

eine StringCollection statt string[] verwenden. StringCollection wird von VS unterstützt.

enter image description here

+0

den Code Beim Wechsel begann ich diesen Fehler zu erhalten { „Objektverweis nicht auf eine Instanz eines Objekts.“} –

+0

Sie haben Ihre Frage aktualisiert, und dass 'Settings.settings xml file' sollte arbeite jetzt. Aber diese Ausnahme klingt wie ein VS-Fehler, also versuchen Sie es neu zu starten. –

+0

Erhalten Sie immer noch die Ausnahme beim Neustart ... –