Имя Пароль
Зарегистрироваться


* При перепечатке материалов ссылка на www.SeoLiga.ru обязательна! RSS



Создание дополнительных типов объектов Doughnut
8 февраля 2009

Сейчас вы реализуете дополнительные функции виртуальной машины по
производству пончиков и закончите инкапсуляцию функциональности
компонента Doughnut Machine, скрыв свойство Enabled и добавив метод для
его установки. Вы также обновите пользовательский интерфейс приложе-
ния, чтобы добавить к нему поддержку новых видов пончиков.
>• Создание дополнительных типов объектов Doughnut
1. Измените уровни доступа свойств Enabled и Intennalc Public (public) на Protected
(protected). Это позволит скрыть эти свойства от внешних классов, инкапсулиро-
вав соответствующую функциональность в классе Doughnut Machine.
2. После этото свойство Enabled станет недоступным для внешних объектов, по-
этому придется добавить специальный метод для установки этого свойства:
Visual Basic .NET
Public Sub StopDojghnutsO
Enabled = False
End Sub
Visual C#
public void StopDoughnutsO
Enabled - false:
3. Откройте форму frmMain в окне дизайнера и добавьте к элементу меню Doughnuts\
Make\Cake вложенное меню с элементами Chocolate, Plain и Sugar. При-
свойте новым элементам меню имена тпи Cake Chocolate, mnuCakePlain и tnnuCakeSugar.
4. Добавьте к элементу меню Doughnuts\Make\Filled вложенное меню с элемента-
ми Lemon, Grape и Custard. Присвойте новым элементам имена mnuFilledLemon,
mnuFilledGrape и mnuFilledCustard.
5. Найдите код метода mnuRaisedGlazed_Click. Замените код, который «вручную»
сбрасывает выделенные пункты меню кодом, автоматически перебирает все из-
вестные пункты меню и сбрасывает выделение прежде, чем будет выбран другой
пункт. Это сделает код для сброса выделения у девяти пунктов меню более упра-
вляемым и менее громоздким. Описанный метод реализуется так:
Visual Basic .NET
Private Suo mnuRaisedGlazed_Click(6yVal sender As System.Object,
ByVal e As System.EventArgs) Handles mnuRaisedGlazed.Click
Dim item As Menulterr
Перебрать все элементы меню из группы mnuMake
For Each item In mnuMake.MenuItems
Oirn anotheritem As Menultem
' Снять выделение со всех элементов
1 меню из группы rnnuMake.
For Each anotheritem In item.MenuItems
anotheritem.Checked = False
Next
Next
mnuRaisedGlazed.Checked = True
myDoughnutMachine.MakeDoughnuts(DoughnutMachine.DoughnutType.Glazec)
End Sub
Visual C#
private void mnuRaisedGlazed_Click(object sender,
System.EventArgs e)
// Перебрать все элементы меню из группы mnuMake
foreach(MenuItern item in mnuMake. Menulteris)
<
// Снять выделение со всех элементов
// меню из группы mnuMake.
foreach(MenuItem anotheritem in item.MenuItems)
anotheritem. Checked = false;
}
rnnuflaisedSugar. Checked = true;
inyDoughnutMachine.MakeDoughnutst Doug hnutMachine. DoughnutType. Glazed);
}
6. Аналогично внесите изменения в код методов mnuRaised Sugar _Click и mnuRaised-
Chocolate__Click.
1. Добавьте сходные методы, обрабатывающие события Click элементов меню, до-
бавленных в пунктах 3 и 4 этого упражнения,
8. Измените метод mnuStop_Clicki&K, чтобы он вызывал метод Stop Doughnuts объек-
та DoughnutMachine, например:
Visual Basic .NET
Private Sub mnu3top_Click(ByVal sender As System. Object, ByVal e
As System. EventArgs) Handles mnuStop. Click
myDoughnutMachine. StopDoughnuts( }
End Sub
Visual C#
private void mnuStop__Click(object sender, System. EventArgs e)
{
myDoughnutMachine. StopDoughnutsC );
}
9. Добавьте к методу DoughnutCompleteHandler код, который будет вести учет новых
типов пончиков и обновлять соответствующие элементы управления пользова-
тельского интерфейса. Для каждого типа DoughnutType должен быть свой опера-
тор Case, увеличивающий значение закрытой переменной, которая представля-
ет соответствующий тип DoughnutType, и отображающий обновленное значение
этой переменной в соответствующем поле формы.
10. Сохраните проект и протестируйте его.

Теги: .NET

Статьи по теме:

Тестирование элемента управления
Параметризованные свойства
Окна Locals, Autos и Watch
Создание проекта установочной программы
Получение доступа к членам базового класса
Automatically Starting your Application on Windows Mobile
Типы и пространства имен .NET
Замыкания (closure)
Создание класса Demo
Обработка исключений и императивная защита
Преобразование кодировки символов
Декларативная защита по правам доступа к коду
Реализация свойств
Cabinet File (*.CAB) Compression and Extraction – версия 9.9
Проверка разрешений, запрашиваемых установленной сборкой
| .NET | Pavel |
 


Пн Вт Ср Чт Пт Сб Вс
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31


     



Rambler's Top100

Данный сайт или домен продается ICQ: 403-353-727

© 2009 Seoliga.ru | .NET | Создание дополнительных типов объектов Doughnut. Регион сайта: Москва и Санкт-Петербург