0

私はいくつかのプロジェクトで設定を保存するために xml ライブラリを使用しています。

saveSettings(Control control, XmlConfig config, string controlName)

次に、そのコントロール内のすべてのコントロールを (再帰的に) 検索し、新しいコントロールなどを見つけるたびに自分自身を呼び出し、すべての情報を次のような xml ファイルに保存します。

そして、それらをロードします。

前回使用したのはFramework 2でしたが、最近再び必要になり、再使用しました。XMLファイルは通常どおり保存されますが、xmlファイルをロードした後にフォームが更新されないようで、理由がわかりません。すべてのコードが正しいようです。

誰か良い代替品を知りませんか?(デフォルトのアプリケーション設定は、明らかにひどいアプローチを使用し、保存するコントロールを指定するアプローチははるかにシンプルで、どこでも機能します)

よろしくお願いします=)

4

1 に答える 1

0

ええと、私はこれを行いますが、あなたの説明よりも明確にします。しばらく前に、これをサポートする一連のインターフェイスとクラスをまとめました。それらは次のように使用されます。

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

使用されているライブラリ「CSharpTest.Net.Library.dll」は次の場所にあります。

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

于 2009-09-18T19:41:46.870 に答える