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


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

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

Динамические свойства
Модификация и обновление данных
Towards Cleaner Code II, a C# GUI Invoke/Async Helper
Оптимизация средствами компилятора
Установка сборок в виде компилированных образов
Решения .NET
Установка точек прерывания
Защита приложений
Работа с несколькими результирующими наборами
Создание компонента DoughnutMachine
Работа в редакторе кода
Архитектура данных ADO.NET
Специальные возможности и логотип «Certified for Windows»
Формирование запросов SQL во время выполнения
Работа с мастером Data Form
| .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. Регион сайта: Москва и Санкт-Петербург