Сохранение свойств элементов формы в XML (Сохранить состояние элемента управления) - PullRequest
0 голосов
/ 18 сентября 2009

Я использовал в некоторых проектах библиотеку xml для сохранения настроек, как это работает, было так:

saveSettings(Control control, XmlConfig config, string controlName)

Затем он будет выполнять поиск по всем элементам управления внутри этого (рекурсивно), вызывая себя каждый раз, когда обнаруживает новый элемент управления и т. Д., И сохраняя всю их информацию в XML-файле, например:

А затем загрузить их обратно.

В прошлый раз, когда я использовал его в Framework 2, недавно он мне снова понадобился, и он снова использовался, он сохраняет XML-файл, как обычно, но, похоже, не обновляет формы после загрузки XML-файла, и я не могу найти почему, весь код кажется правильным.

Кто-нибудь знает хорошую замену? (по умолчанию, настройки приложения, используется подход, который явно отстой, подход к заданию элемента управления для сохранения гораздо более прост и работает везде)

Заранее спасибо =)

1 Ответ

0 голосов
/ 18 сентября 2009

Ну, я делаю это, но более явно, чем то, что вы описываете. Я собрал набор интерфейсов и классов, чтобы поддержать это некоторое время назад. Они используются следующим образом:

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

...