Отправляет email-рассылки с помощью сервиса Sendsay

Финансы. Инструкция

  Все выпуски  

Уроки по C# и .NET.


Уроки по C#. Рассылки сайта progs.biz
Выпуск № 93
 
Начало > C# > Windows > Урок 28

Михаил Фленов. DirectX и С++. Искусство программирования
Михаил Фленов. DirectX и С++. Искусство программирования
Заказать на Озоне

Подробнее


Полные версии уроков (с картинками): урок 28.

C# для Windows
Урок 28. Сохранение настроек программы

На этом уроке мы с вами посмотрим, как можно сохранять настройки программы.

Для этого открываем специальный дизайнер (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); 
        }

Разумеется, использование настроек может быть и другое - тут оно приведено просто для примера.

Можно запускать приложение. Нажимая в нем на разные кнопки, мы будем устанавливать различные настройки для нашего приложения, причем эти же настройки будут восстанавливаться при очередном запуске нашей программы.

Рассылки сайта progs.biz
Visual C++, MFC
C# и .NET
VB.NET
ASP.NET
Win API
C/C++
Delphi
Java
HTML, PHP, mySQL, WEB-дизайн
Flash MX
C++ Builder
Ассемблер
SQL Server
DirectX
Обзор книг
Обзор программ
Новости сайта progs.biz


PARKING.RU. Качественный ВИРТУАЛЬНЫЙ ХОСТИНГ на платформе Windows(r): поддержка NET, многофункциональная панель управления, аренда бизнес-приложений, сертифицированные специалисты. Управляемый ВЫДЕЛЕННЫЙ ХОСТИНГ на платформе Windows(r): производительные серверы, профессиональная поддержка, аренда ПО Microsoft(r), безопасность, гарантии. http://www.parking.ru


Копирование любых материалов сайта без разрешения авторов и владельцев сайта запрещено.
© 2002-2006 сайт progs.biz
© 2002-2006 Игорь Алексеев

В избранное