Создание Windows-приложений на основе Visual C#


           

Сохранение настроек приложения. XML-сериализация


При работе с приложением часто возникает необходимость сохранения пользовательских настроек. Одним из способов решения этой задачи является преобразование свойств и полей объекта в специальное представление — формат XML. При этом данные преобразуются в последовательную серию байтов. Этот процесс называется XML-сериализацией. Обратный процесс — восстановление записанной информации — называется десериализацией.

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

Подключаем пространство имен для работы с потоками и XML-сериализацией:

using System.IO; using System.Xml.Serialization;

Создаем новый класс FormSize, в котором объявляем переменные для хранения размеров формы:

public class FormSize { public int height; public int width; }

Размеры формы должны записываться при закрытии формы. В режиме дизайна выделяем форму и в окне Properties переключаемся на события формы (нажимаем на кнопку Events). Создаем обработчик для события Closing формы:

private void Form1_Closing(object sender, System.ComponentModel.CancelEventArgs e) { //Создаем экземпляр frmSize класса FormSize: FormSize frmSize = new FormSize(); // Присваиваем текущие значения высоты и ширины формы //переменным height и width frmSize.height = this.Height; frmSize.width = this.Width; //Cоздаем экземпляр xmlser класса XmlSerializer XmlSerializer xmlser = new XmlSerializer(typeof(FormSize)); //Создаем переменную filename, которой присваиваем //название файла applicationSettings.xml в текущей директории string filename = System.Environment.CurrentDirectory + "\\applicationSettings.xml"; //Создаем поток filestream для создания XML-файла FileStream filestream = new FileStream(filename, FileMode.Create); //Создаем сериализацию для экземпляра frmSize xmlser.Serialize(filestream, frmSize); //Закрываем поток filestream.Close();

}

Запускаем приложение. С помощью мыши изменяем размер формы и закрываем ее. В окне Solution Explorer нажимаем на кнопку

(Show All Files) — в папке bin/Debug приложения появился файл applicationSettings.xml (рис. 3.20), в котором записаны размеры формы:



Содержание  Назад  Вперед