* При перепечатке материалов ссылка на 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

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

Локальные функции
Использование провайдеров дополнительных свойств
Создание конфигурационного файла
Команды для манипулирования данными
Циклические ссылки
Разделяемые сборки
Декларативная защита, основанная на ролях
Отображение сообщений об ошибках
Пошаговое исполнение кода
Добавление элементов управления на панель Toolbox
Общие (статические) члены
Работа с элементами управления
Загрузка элемента управления в Internet Explorer
Операторы Imports и using
Применение компонента HelpProvider
| .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


     



Rambler's Top100

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

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