フォーム要素のプロパティをXMLに保存(コントロール状態を保存)

StackOverflow https://stackoverflow.com/questions/1445860

  •  22-07-2019
  •  | 
  •  

質問

私はいくつかのプロジェクトで設定を保存するためのxmlライブラリを使用していますが、その仕組みは次のようになりました:

saveSettings(Control control, XmlConfig config, string controlName)

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

                         

次に、それらをロードし直します。

前回使用したのはフレームワーク2でしたが、最近再び必要になり、再利用しました。通常のようにXMLファイルを保存しますが、xmlファイルを読み込んだ後にフォームを更新していないようです。理由を見つけてください。すべてのコードが正しいようです。

誰でも素敵な代替品を知っていますか? (デフォルトのアプリケーション設定では、単純な手法を使用しますが、保存するコントロールを指定する手法ははるかに簡単で、どこでも機能します)

事前に感謝=)

役に立ちましたか?

解決

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

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top