Информационный сайт

 

Реклама
bulletinsite.net -> Книги на сайте -> Программисту -> Троелсен Э. -> "С# и платформа .NET. Библиотека программиста" -> 164

С# и платформа .NET. Библиотека программиста - Троелсен Э.

Троелсен Э. С# и платформа .NET. Библиотека программиста — СПб.: Питер, 2004. — 796 c.
ISBN 5-318-00750-3
Скачать (прямая ссылка): cplatforma2004.pdf
Предыдущая << 1 .. 158 159 160 161 162 163 < 164 > 165 166 167 168 169 170 .. 320 >> Следующая

private void Colurftern_Clicked(obj:-ct sender. EventArgs e)
?
Il Определяем текстовое имя пункта неню BackColor Menultem miClicked - (MenuItem)sender;
И Удаляем символ *!Г
string color - miClicked.Text. Remove(O.l);
II А теперь настраиваем цвет формы this.BackColor - Color.FromName(color); Color CurrColor = BackColor:
}
Нас можно поздравить: меню успешно создано и работает. Следующая наша задача — обеспечить сохранение предпочтений пользователя в системном реестре.
Пример приложения Windows Forms для работы с реестром Windows 2000 401
Взаимодействие с системным реестром
Если вы программист, работающий с СОМ, шансов избежать работы (обычно весьма тяжелой и трудоемкой) с системным реестром у вас нет. В мире .NJiT все иначе. Реестр в .NET - это не более чем удобное место хранения предпочтений пользователя. В пространстве имен Micro,sol:t.W.in3i предусмотрен набор типов, при помощи которых считать данные из реестра или внести в него какие-либо изменения можно очень легко и пыетро. Краткий перечень этих типов представлен в табл. 8.25.
Таблица Типы для взаимодействия с системным реестром
Тип Microsoft,Win32 Назначение
Registry Можно считать этот тип высокоуровневой абстракцией всего реестра
со всеми его ветвями
RegistryKey Это — главный тип, при помощи которого производится вставка новьх
параметров (ключей) в реестр, их удаление и изменение
RegistryHive Перечисление, в котором хранятся названия каждой ветви реестра
Наша цель — обеспечить сохранение предпочтений пользователя (размера шриф-
та и цвета фона) в системном реестре для последующего использования. Для этого
мы будем использовать класс RegistryHive. Наиболее важные члены этого класса
представлены в табл. 8.26.
Таблица 8.26. Члены класса RegistryKey
Член Назначение
Name свойство имя параметра реестра
SubKeyCount Возвращает количество вложенных параметров реестра
ValueCount Возвращает количество значений параметра реестра
CloseO Закрывает параметр реестра и записывает его в системный реестр
на постоянной основе (в случае, если параметр был изменен)
CreateSubKeyO Позволяет создать новый подпараметр реестра или открыть
существующий подпараметр. Принимаемое им имя подпараметра
не чувствительно к реестру.
DeleteSubKeyO Удаляет указанный подпараметр реестра. Чтобы удалить подпараметр
с вложенными параметрами, используйте метод
Принимаемое имя точно так же не чувствительно к регистру
DeleteSubKeyTreeQ Позволяет удалить подпараметр реестра и все дерево вложенных в него
параметров. Также не чувствителен к регистру
¦GetSubKeyNamesf) Возвращает массив значений типа string, который содержит имена всех
вложенных параметров
GetValueC) Многократно перегружен. Используется для получения значения
параметра реестра
GetValueNamesO массив значений типа представляющий имена всех
значений данного параметра реестра
OpenRemoteBaseKeyO Для открытия параметра реестра на удаленном компьютере
OpenSubKeyO Перегружен. Позволяет получить параметр реестра
SetValueO Устанавливает указанное значение. Принимаемый им параметр SubKey
не чувствителен к реестру
402 Глава 8 • Окна становятся лучше: введение в Windows.Forms
Предположим, что у нас в меню File (Файл) появился новый пункт Save (Сохранить). При выборе пользователем этого пункта меню будет происходить оіедуга-щее: вначале будет создан объект Чяд '.$1.-у;-'еу, а затем с его помощью текущие значения для шрифта и цвета фона будут помещены в системный реестр по адресу HKEY CURRENT USER\Software\Intertech\Chapter8App.Также предположим, что у нас уже объявлены две переменные: одна — для хранения информации о текущем размере шрифта (currFontSize), а вторая - для выбранного пользователем цвета (currCol or). Тогда код для сохранения информации в реестре может выглядеть следующим образом (обратите внимание на применение метода Regis tryKey .Set Value С)):
Il Предположим, что у нас установлены следующие значения переменных:
// Color currColor = Color.MistyRose:
II private int currFontSize = TheFontSize,Normal:
private void FileSavejlickedfobJec-. sender. EventArgs
,t
// Сохраняем настройки пользователя в реестре
RegistryKey regKey = Registry.CurrentUser;
regKey = regKey, CreateSubKey("5oftware\Untertech\\Chapter8App"):
regKey.SetValuet"CurrSize". currFontSize):
regKey.SetValuet"CurrColor". currColor, Name):
}
Если теперь пользователь выберет цвет фона LemonChiffon а размер шрифта — Huge (то есть 30) и после этого сохранит свои настройки, то в реестре он сможет обнаружить соответствующие параметры (рис. 8.37).
Registry Editor
Beglstry EcIt Vjew Eavorltes tiffo
В С] Incertech Name j Type Data
і E-Q Kodak Ш Q Maoromedia ' _J I-Q MAL la(Default) [^jCurrCoiar §J3currSze REG_SZ REG_SZ REG„DWORD (value not set) LemonChlffon 0x000000Ib(30)
GJ Q Metrowerks »I
.1 ьг ,1 . .• j -iJ
My ComjMJce!-\HKEr.CURReriTJJ5SR\S:iftvwre\lncwtech\ChapterSApp .
Предыдущая << 1 .. 158 159 160 161 162 163 < 164 > 165 166 167 168 169 170 .. 320 >> Следующая
Реклама
Авторские права © 2009 AdsNet. Все права защищены.
Rambler's Top100