На этом уроке мы с вами посмотрим, как можно сохранять настройки программы.
Для этого открываем специальный дизайнер (Settings.settings) через окно Solution Explorer:
В этом дизайнере вы можете в соответствующих столбцах указываем имя настройки, а также ее тип, область действия (это просто означает, на кого эта настройка распространяется - только на текущего пользователя или же на всех пользователей данного компьютера) и значение по умолчанию.
Теперь начинаем писать код. Сначала создаем на уровне формы пару переменых некоторых типов - именно они и будут сохранятся в настройках (переменные могут быть различных типов и их не обязательно будет две).
// Переменные для сохранения в настройках.
Color color;
string firstName;
После этого напишем код, который будет менять наши переменные для настроек. Для этого добавьте на форму 2 кнопки, в обработчиках которых напишите следующий код:
private void button1_Click(object sender, EventArgs e)
{
// Новые значения для настроек.
color = Color.MediumPurple;
firstName = "Igor";
Invalidate();
// Запись настроек.
settings.MyColor = color;
settings.FirstName = firstName;
settings.Save();
}
private void button2_Click(object sender, EventArgs e)
{
// Новые значения для настроек.
color = Color.Firebrick;
firstName = "Roman";
Invalidate();
// Запись настроек.
settings.MyColor = Color.Firebrick;
settings.FirstName = firstName;
settings.Save();
}
Код достаточно простой и ясен из комментариев. Обратите только внимание, что поля MyColor и FirstName соответствующих типов уже автоматически добавились в класс Settings - это сделал наш дизайнер.
В обработчике загрузки формы напишите следующий код для восстановления настроек:
private void Form1_Load(object sender, EventArgs e)
{
try
{
// Восстановление настроек.
color = settings.MyColor;
firstName = settings.FirstName;
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}
И, наконец, напишите код для использования настроек. Тут наше использование такое - мы берем цвет и текст из настроек и выводим этот текст этим цветом прямо на форме:
private void Form1_Paint(object sender, PaintEventArgs e)
{
// Использование настроек.
Graphics g = e.Graphics;
Font font = new Font("Arial", 10);
g.DrawString(firstName, font, new SolidBrush(color), 100, 100);
}
Разумеется, использование настроек может быть и другое - тут оно приведено просто для примера.
Можно запускать приложение. Нажимая в нем на разные кнопки, мы будем устанавливать различные настройки для нашего приложения, причем эти же настройки будут восстанавливаться при очередном запуске нашей программы.