|
Программирование >> Автоматически обновляемые приложения
Сохранение настроек приложения .NET Framework 2.0 позволяет очень легко создавать, сохранять и загружать сохраненные настройки работы приложения. Очень часто возникает потребность, чтобы программа запоминала размер шрифта, цвет фона формы и другие настройки, сделанные пользователем, чтобы при следующем запуске приложения она восстановила эти настройки. Рассмотрим, как реализован этот механизм в Visual Studio 2005. Настройки бывают двух видов: пользовательские настройки и настройки приложения. Сами настройки имеют четыре свойства- Name (Имя), Туре (Тип), Scope (Область видимости) и Value (Значение): П свойство Name определяет имя настройки, по которому можно обратиться к нужной настройке из программы для получения значения во время работы; П свойство Туре определяет тип настройки, например, это может быть цвет (system. Color), СТрока (string), ЧИСЛО И Т. Д.; П свойство Scope определяет степень доступа к настройке во время выполнения программы. Данное свойство имеет два возможных значения: Application и User. Настройка на уровне приложения является более важной и влияет на работу программы в целом, а настройка на уровне пользователя больше подходит, например, для удобного оформления цветовых схем и не влияет на работу приложения в целом; П свойство Value определяет значение, возвращаемое при обращении к настройке. Значение может иметь тип, определенный свойством Туре. Обратите внимание, что пользовательские настройки можно менять во время работы программы, то есть их можно считывать и записывать (read/write). Программные настройки доступны только для чтения. Изменять программные настройки можно во время разработки программы или путем изменения файла настроек вручную. Рассмотрим пример создания новой настройки во время разработки приложения. Создайте новый проект и выберите в меню Projectl <ИмяПроекта> Properties... В открывшемся диалоговом окне выберите с левой стороны вкладку Settings. У вас откроется окно дизайнера настроек (рис. 9.3). Щелкните два раза на первой строчке со словом Settings, чтобы изменить имя настройки. Введите новое имя, например, BackgroundColor. Далее вам надо сопоставить этому имени тип настройки. Выберите из списка подходящий вам тип. В нашем случае это будет System.Color. Теперь мы задаем уровень доступа. Остановимся на значении User. Переходим к столбцу Value. Так как мы определили тип Color, то в Visual Studio для выбора значения предлагается воспользоваться диалоговым окном выбора цвета. Выбираем любой цвет, например Cyan. Первая настройка готова. Теперь вы можете обращаться к созданной настройке из программы. Предположим, мы хотим, чтобы фон формы имел цвет, определенный в настройке под именем BackgroundCoIor. Тогда нужно в обработчике события формы Load записать код, приведенный в листинге 9.26. £ie £dX i5ew grcject gulj Cebug Plnvoke.net Oata Icchs Wndow tomnuiaty tieip J)- ........J.dl £>9 ..AnyCPU ; settings. Opje::! BrcvAcr Э Helper Application But Builfi Events Dobjg Resources Setcngs Rttetnce Paths Signng Securtv Puoks-i Synchronee ]..;} Vleiv Code Apptication settings allow you to acre and retrle-e property settings and other nformatton for your sppttcatfon dynam/csMy. For ey?mpfe, the appkctton :an ve a users cotor pieferences, then retrieve them the next tirre it mns. J.A Пw.aйy..lLи:к;:tк?.г Рис. 9.3. Окно дизайнера настроек Листинг 9.26. Использование настроек private void Forml Load(object sender, EventArgs e) { this.BackColor = Properties.Settings.Default.BackgroundCoIor; Как видите, для доступа к нужной настройке мы обращаемся к пространству имен Properties, КОТОрое В объекте Properties . settings . Default Содержит все настройки, определенные нами в дизайнере настроек. Наверное, вы обратили внимание, что при вводе кода технология IntelliSence услужливо предлагала список возможных значений. Так как мы определили настройку как User, то можем не только считывать значение настройки, но и записать новое Листинг 9.27. Установка новых значений private void buttonl Click(object sender, EventArgs e) { Properties.Settings.Default.BackgroundColor = Color.Red; Properties.Settings.Default.Save(); Обратите внимание на вторую строчку. Метод save сохраняет настройку в файле настроек или при последующем запуске программы, наша форма будет окрашена уже в цвет Red вместо цвета Cyan. Без использования этого метода настройка будет работать только в текущей сессии. Проверьте это самостоятельно. Сами настройки хранятся в файле app.config, который вы можете просмотреть из Visual Studio. Вы увидите, что это обычный XML-файл с записанными нами настройками. Более подробно о настройках можно почитать в документации. Примечание Пример находится в папке Settings на прилагаемом диске. Работа с реестром Windows хранит море информации о системе, настройках программ, пользователях и множество других данных в специальном хранилище- реестре. Существует возможность улучшить работу программ путем изменения параметров, содержащихся в реестре. В Интернете можно найти целый класс программ, называемых твикерами, в которых собраны различные полезные и интересные настройки, которые можно поменять в реестре, чтобы изменить функциональность программ. Не представляет труда самому написать такой твикер при помощи управляемого кода. В состав .NET Framework входит класс Microsoft .Win32 .Registry, специально Предназначенный для работы с реестром. Рассмотрим один пример, который позволяет изменить заголовок браузера Internet Explorer. По умолчанию при запуске браузера мы видим в заголовке окна название сайта плюс строчку Windows Internet Explorer. Изменим ее, записав новое значение в реестре (листинг 9.28). значение при необходимости. Добавим на форму кнопку, которая будет менять цвет фона формы на красный (листинг 9.27).
|
© 2006 - 2024 pmbk.ru. Генерация страницы: 0
При копировании материалов приветствуются ссылки. |