Domanda

Ho usato in alcuni progetti una libreria xml per il salvataggio delle mie impostazioni, come ha funzionato in questo modo:

saveSettings(Control control, XmlConfig config, string controlName)

Dovrebbe quindi cercare tutti i controlli all'interno di quello (ricorsivamente), chiamandosi ogni volta che trova un nuovo controllo, ecc., e salvando tutte le loro informazioni in un file XML come:

                         

E poi ricaricarli.

L'ultima volta che l'ho usato era in Framework 2, recentemente ne avevo bisogno di nuovo, e riutilizzato, salva il file XML come al solito, ma non sembra aggiornare i moduli dopo aver caricato il file XML, e non riesco a scopri perché, tutto il codice sembra corretto.

Qualcuno sa un bel sostituto? (quello predefinito, le impostazioni dell'applicazione, utilizza un approccio che fa schifo chiaramente, l'approccio di specificare un controllo da salvare è molto più semplice e funziona ovunque)

Grazie in anticipo =)

È stato utile?

Soluzione

Bene, lo faccio ma in modo più esplicito di quello che stai descrivendo. Ho messo insieme un insieme di interfacce e classi per supportarlo qualche tempo fa. Sono usati come i seguenti:

readonly ObjectSerializer _serializer;
public MyForm()
{
    _serializer = new ObjectSerializer(this,
        "Top", "Left", "Height", "Width",
        "_splitter.SplitterDistance");
    _serializer.ContinueOnError = true;
}

private void Form_Load(object sender, EventArgs e)
{
    _serializer.Deserialize(new CSharpTest.Net.Serialization.StorageClasses.UserSettingStorage());
}

void Form_Closing(object sender, FormClosingEventArgs e)
{
    _serializer.Serialize(new CSharpTest.Net.Serialization.StorageClasses.UserSettingStorage());
}

La libreria in uso " CSharpTest.Net.Library.dll " si trova in:

http://code.google.com/p/csharptest-net

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top