Управления Образования Восточно- Казахстанской области
КГКП «Семейский финансово – экономический колледж имени Рымбека Байсеитова»
УРОК КОНКУРС
по дисциплине Объектно - ориентированное программирование
на тему «Библиотека элементов управления. Кнопки. Списки»
Подготовила: Аубакирова М.Ж.
Семей 2018 год
ПОУРОЧНЫЙ ПЛАН №21
Адресная категория |
| 1.1. Наименование специальности и квалификации | 1304000 – «Вычислительная техника и программное обеспечение (по видам)» 130404 3 – «Техник-программист» |
| 1.2. Курс, группа | 3 осн. Курс ВТ-2 |
| 1.3. Наименование учебного модуля/дисциплины, изучаемого раздела | Объектно - ориентированное программирование |
| 1.4. Тема занятия | Библиотека элементов управления. Кнопки. Списки. |
| 1.5. Организационная форма занятия | групповая |
| 1.6. Знания и умения студентов, необходимые для выполнения деятельности по модулю/теме | 1. Кнопки. 2. Списки. Элементы ListBox и ComboBox 3. Элемент управления ListView. 4. Элемент управления TreeView |
| 1.7. Возможности учебного занятия интеграция профессиональных умений и умений трудоустройства | - навыки общения; - умение воспринимать информацию; - умение применять информацию на практике. |
| 2. Цель занятия |
| 2.1. Способствовать развитию следующих умений трудоустройства и поиска работы, которым обучатся студенты на данном занятии | - умение слушать; - умение общаться с партнерами; - прислушиваться к мнению других. |
| 2.2. Обучение профессиональным умениям, которыми овладеют обучающиеся в процессе учебного занятия | - умение правильно организовать рабочее место; - умение работать с литературой; - умение работать в коллективе; |
| 3. Описание результата занятия |
| 3.1. К концу занятия обучающиеся должны: знать и уметь | - знать понятия Windows Presentation Foundation |
| 3.2. Критерии качества | - знать способы использования Windows Presentation Foundation |
| 4. Фаза планирования |
| 4.1. Учебно-методическое оснащение, справочная литература | К. Андерсон, «Основы Windows Presentation Foundation», стр. 123-130 |
| 4.2. Техническое оснащение, материалы | ПК, Microsoft Visual C# 2010 |
| 4.3. Описание последовательности действий студентов | - освоить принципы работы с Windows Presentation Foundation |
| 4.4. Роль преподавателя | - сообщение основных понятий по теме; - пояснение терминов и порядка их применения. |
| 5. Реализация плана |
| 5.1. Описание плана занятий, содержание действий преподавателя и студентов (таблица) | Таблица «Содержание и организация взаимодействия преподавателя и студентов» |
| 6. Оценка |
| 6.1. Оценка качества выполненных заданий | Определение степени усвоения новых понятий и терминов. |
Преподаватель ______________ Аубакирова М.Ж.
подпись Ф.И.О.
Содержание и организация взаимодействия преподавателя и студентов
| № | Основные этапы занятия | Виды и последовательность действий | Деятельность студентов | Совместная деятельность преподавателя и студентов | Деятельность преподавателя |
| | | | индивидуальная | групповая | межгрупповая | | консультация | инструктирование | контроль |
| 1. | Этап ориентирования и планирования | Тема и цель урока | | Х | | Х | Х | | |
| 2. | Этап выполнения работы | Подготовка рабочего места | | Х | | | Х | | |
| Подготовка материалов | | Х | | | Х | | |
| Технологический процесс: конспектирование, работа с конспектом, работа на интерактивной доске | Х Х | | | | Х Х | | Х Х |
| 3. | Этап оценки и анализа конечных и промежуточных результатов | Оценка работы по критериям качества: Определить термин | Х | | | | Х | | |
Цели урока:
обобщение единичных знаний по изученной теме в систему,
углубление и расширение ЗУН,
формирование личностного аспекта восприятия знаний,
вовлечение каждого участника в практическую работу,
развитие творческой и познавательной активности учащихся, интереса к предмету,
формирование навыков сотрудничества,
формирование умения планировать свою деятельность,
развитие презентативных умений и навыков,
Тип урока: урок проверки, оценки и коррекции ЗУН учащихся.
Структура урока:
Организационный этап (1 минута)
Актуализация знаний ( 7 минут)
Выполнение проектов (20 минут)
Защита проектов (10 минут)
Подведение итогов (2 минуты)
1. Организационный этап
2. Актуализация знаний (презентация) Приложение 1.
Учащиеся отвечают на вопросы письменно, затем сверяют свои ответы с картинкой на экране, исправляют свои ошибки. Затем происходит повторение основных объектов VB.
Контрольные вопросы
Как выполнить запуск системы Visual Basic и выход из неё?
Шаги разработки проекта.
Как отобразить на экране и как закрыть:
- окно свойств;
- окно проекта;
- панель элементов?
Поясните назначение свойств: Alignment, Caption, Font, Height, Width.
Как вставить в форму надпись, кнопку?
Как сохранить проект?
Как запустить проект и как прекратить его работу?
Как узнать, находится система Visual Basic в режиме разработки или в режиме исполнения?
Как вызвать в окно программы код нужной событийной процедуры нужного объекта?
Как увидеть список событийных процедур, связанных с объектом?
Как увидеть список объектов, включенных в форму?
Можно ли изменять значения свойства Caption надписи при исполнении проекта?
Учитель сообщает о том, что скоро приближается праздник "Новый год" и учащимся необходимо выполнить проект "Живая" открытка" , т.е. на их открытках с изображением например, елочки, должны мигать огонки, надпись "С новым годом!" и др. Можно продемонстрировать готовые проекты Приложение2, Приложение3.


Учитель: "Много поздравительных открыток есть в Интернете, но большинство из них статичны. Попробуйте создать свою "живую" открытку, порадуйте своего друга. Удивите его! Всё необходимое у вас есть - знания, умения, фантазия! Дерзайте! Желаю вам успеха!"
Класс делится на группы по 2 человека. Необходимо творчески подойти к заданию. Придумать и разработать оригинальный дизайн открытки. Далее придумать рекламу своей продукции, чтобы открытку захотело купить как можно большее число пользователей ПК. Выступить с рекламой своей продукции.
На конкурсной основе будут выбраны лучшие работы (1, 2 и 3 место). В течение урока демонстрируется презентация, которая сопровождается новогодней музыкой.
3. Последовательность выполнения проектов
| Этапы | Задачи | Деятельность учащихся | Деятельность учителя |
| Начальный | Определение темы, уточнение целей. | Уточняют информацию, обсуждают задание. | Мотивирует учащихся, объясняет цели проекта, наблюдает. |
| Планирование | Анализ проблемы, определение источников информации. Постановка задач и выбор критериев оценки. Распределение ролей в команде. | Формируют задачи, выбирают и обосновывают свои критерии успеха. | Помогает в анализе и синтезе (по просьбе). Наблюдает. |
| Принятие решения | Сбор и уточнение информации. Выбор оптимального варианта, уточнение плана деятельности. | Работают с информацией, решают, какие элементы использовать в проекте. | Наблюдает, консультирует. |
| Выполнение | Выполнение проекта. | Оформляют проект. | Наблюдает, советует (по просьбе). |
| Оценка результатов и защита проекта | Анализ выполнения проекта, достигнутых результатов. | Участвуют в коллективном анализе проектов, оценивают проекты. | Участвует в коллективном анализе проектов. |
Защита проектов
Ученики делали работу вдвоём, и поэтому выступают тоже парами. Один сидит за ПК учителя (сервером), второй стоит с указкой у экрана мультимедиа проектора. Необходимо продемонстрировать работоспособность программы и оригинально разрекламировать её. Выступать с защитой проекта может любой из пары, могут выступать по очереди, таким же образом даются ответы на вопросы.
Одноклассники внимательно слушают выступление, задают вопросы, по окончании оценивают работу по данным критериям, заполняют бланк, суммируют баллы. Записывают итог на отдельный листок, выданный учителем.
Критерии оценки
| № | Работоспособность программы (6 баллов) | Сложность (5 баллов) | Дизайн (5 баллов) | Защита и реклама ( 4 балла) | Итог проекта (сумма) |
| 1. | | | | | |
| 2. | | | | | |
| 3. | | | | | |
| 4. | | | | | |
| 5. | | | | | |
Подведение итогов
Подсчитывается средний балл. Итоги выводятся на экран мультимедийного проектора. Вместе с ребятами учитель обсуждает результаты, отмечает недостатки, оригинальные находки в отдельных работах, учитель хвалит авторов. Объявляется результат - 3, 2 и 1 место. Пара, занявшая 1 место, награждается значком, который вручается под бурные аплодисменты одноклассников.
Отметки:
"5" от 20 - 17 баллов;
"4" от 16,9 до 13 баллов;
"3" от 12,9 до 10 баллов;
"2" ниже 10 баллов.
Пара получает одинаковую оценку.
Ребята подводят итог урока.
Тема 21. Библиотека элементов управления. Кнопки. Списки.
Если только вы не новичок в области построения графических интерфейсов пользователя (что нормально), общее назначение элементов управления WPF не должно вызывать вопросы. Независимо от того, какой набор инструментов для построения графических интерфейсов вы применяли в прошлом (MFC, Java AWT/Swing, Windows Forms, VB 6.0, Mac OS X (Cocoa) или GTK+/GTK#), распространенные элементы управления, представленные ниже, скорее всего, покажутся знакомыми.
| Элементы управления WPF |
| Категория элементов управления WPF | Примеры членов | Назначение |
| Основные пользовательские элементы управления | Button, RadioButton, ComboBox, CheckBox, Calendar, DatePicker, Expander, DataGrid, ListBox, ListView, Slider, ToggleButton, TreeView, ContextMenu, ScrollBar, TabControl, TextBlock, TextBox, RepeatButton, RichTextBox, Label | WPF предлагает полное семейство элементов управления, которые можно использовать для построения пользовательских интерфейсов |
| Элементы украшения окон и элементов управления | Menu, ToolBar, StatusBar, ToolTip, ProgressBar | Эти элементы пользовательского интерфейса служат для декорирования рамки объекта Window компонентами для ввода (наподобие Menu) и элементами информирования пользователя (StatusBar, ToolTip и т.п.) |
| Элементы мультимедиа | Image, MediaElement, SoundPlayerAction | Эти элементы управления предоставляют поддержку воспроизведения аудио/видео и визуализации изображений |
| Элементы управления компоновкой | Border, Canvas, DockPanel, Grid, GridView, GridSplitter, GroupBox, Panel, TabControl, StackPanel, Viewbox, WrapPanel | WPF предлагает множество элементов управления, которые позволяют группировать и организовывать другие элементы для управления компоновкой |
Большинство этих стандартных элементов управления WPF упаковано в пространство имен System.Windows.Controls сборки PresentationFramework.dll. При построении приложения WPF в Visual Studio 2010 большинство этих элементов находится в панели инструментов (ToolBox), когда в активном окне открыт визуальный конструктор WPF:

Как и при создании приложений Windows Forms, эти элементы можно перетаскивать на поверхность визуального конструктора WPF и конфигурировать их в окне Properties (Свойства). Хотя Visual Studio 2010 сгенерирует значительный объем XAML автоматически, нет ничего необычного в ручном редактировании разметки.
В дополнение к обычным элементам управления WPF, перечисленным в таблице, в WPF определены дополнительные элементы для работы с API-интерфейсом "цифровых чернил" (digital Ink API). Этот API-интерфейс полезен при разработке приложений для планшетных ПК (Tablet PC), поскольку позволяет получать ввод от пера. Однако это не означает, что стандартные настольные приложения не могут пользоваться Ink API, так как некоторые определенные в нем элементы управления могут получать ввод от мыши.
Пространство имен System.Windows.Ink сборки PresentationCore.dll содержит разнообразные типы, поддерживающие Ink API (например, Stroke и StrokeCollection); однако большинство элементов управления Ink API (такие как InkCanvas и InkPresenter) упакованы в общие элементы управления WPF из пространства имен System.Windows.Controls сборки PresentationFramework.dll.
В WPF предлагаются элементы управления для обработки расширенных документов, позволяя строить приложения, которые поддерживают функциональность в стиле Adobe PDF. Используя типы из пространства имен System.Windows.Documents (также из сборки PresentationFramework.dll), можно создавать готовые к печати документы, поддерживающие масштабирование, поиск, пользовательские аннотации ("клейкие" заметки) и прочие развитые средства работы с текстом.
Однако "за кулисами" элементы управления документов не используют API-интерфейсы Adobe PDF, а вместо этого работают с API-интерфейсом XML Paper Specification. Конечные пользователи никакой разницы не заметят, поскольку документы PDF и документы XPS имеют почти идентичный вид и поведение. В действительности доступно множество бесплатных утилит, которые позволяют преобразовывать эти форматы друг в друга на лету.
В WPF также предоставляются несколько диалоговых окон, таких как OpenFileDialog и SaveFileDialog. Эти диалоговые окна определены внутри пространства имен Microsoft.Win32 сборки PresentationFramework.dll. Работа с каждым из этих диалоговых окон сводится к созданию объекта и вызову метода ShowDialog().
WPF распознает три типа кнопок: Button, CheckBox и RadioButton. Все эти кнопки являются наследниками класса ButtonBase.
Класс ButtonBase содержит лишь несколько членов. Он определяет событие Click и добавляет поддержку команд, которые позволяют подключать кнопки к высокоуровневым задачам приложений. Наконец, класс ButtonBase добавляет свойство ClickMode, которое определяет, когда кнопка генерирует событие Click в ответ на действия мыши. По умолчанию используется значение ClickMode.Release, которое означает, что событие Click будет сгенерировано после нажатия и последующего отпускания кнопки мыши. Однако можно сделать и так, чтобы событие Click возникало сразу при нажатии кнопки мыши (ClickMode.Press) или даже когда указатель мыши будет наведен на кнопку и задержится над ней (ClickMode.Hover).
Все кнопки поддерживают клавиши доступа, которые работают подобно мнемоническим командам в элементе управления Label. Для обозначения клавиши доступа служит символ подчеркивания. Когда пользователь нажмет клавишу и клавишу доступа, возникнет событие Click данной кнопки.
Класс Button
Класс Button представляет вездесущую кнопку Windows. Он добавляет всего два доступных для записи свойства: IsCancelи IsDefault:
Если свойство IsCancel имеет значение true, то эта кнопка будет работать в окне как кнопка отмены. Если нажать клавишу , когда фокус находится в текущем окне, то сработает эта кнопка.
Если свойство IsDefault имеет значение true, то эта кнопка считается кнопкой по умолчанию (она еще называется кнопкой принятия). Ее поведение зависит от текущей позиции в окне. Если указатель мыши находится на элементе управления, отличном от Button (например, TextBox, RadioButton, CheckBox и т.д.), то кнопка по умолчанию будет выделена голубоватым оттенком — почти так, как если бы она находилась в фокусе.
При нажатии клавиши сработает эта кнопка. Однако если навести указатель мыши на другой элемент управления Button, то голубоватым оттенком будет выделена текущая кнопка, и при нажатии будет приведена в действие именно эта кнопка, а не кнопка по умолчанию.
Многие пользователи используют такие клавиши быстрого доступа (особенно клавишу для закрытия ненужного диалогового окна), поэтому есть смысл потратить время на определение этих деталей в каждом создаваемом вами окне. Но код обработки событий для кнопки по умолчанию и кнопки отмены придется написать вам, так как WPF не поддерживает это поведение.
В некоторых случаях имеет смысл сделать одну и ту же кнопку в окне и кнопкой отмены, и кнопкой по умолчанию. Примером может служить кнопка ОК в окне О программе. Однако в окне должна быть только одна кнопка отмены и одна кнопка по умолчанию. Если вы назначите несколько кнопок отмены, то нажатие клавиши будет просто передавать фокус следующей кнопке по умолчанию, без ее активизации. А при наличии нескольких кнопок по умолчанию нажатие клавиши приведет к непонятному поведению. Если в фокусе будет находиться элемент управления, отличный от Button, то при нажатии фокус будет передан следующей кнопке по умолчанию. Если же в фокусе находится элемент управления Button, нажатие клавиши активизирует его.
Класс Button содержит также загадочное свойство IsDefaulted, которое доступно только для чтения. Оно возвращает значение true для кнопки по умолчанию, если фокус принадлежит другому элементу управления, не принимающий клавишу . В этой ситуации нажатие приведет к активизации кнопки.
Например, элемент TextBox не принимает клавишу , если свойство TextBox.AcceptsReturn не равно true. Если элемент управления TextBox со свойством TextBox.AcceptsReturn, равным true, находится в фокусе, то свойство IsDefaulted кнопки по умолчанию будет равно false. Если элемент TextBox со свойством AcceptsReturn, равным false, имеет фокус, то свойство IsDefaulted кнопки по умолчанию получает значение true.
Свойство IsDefaulted возвращает значение false, когда кнопка имеет фокус, даже если при этом нажатие клавиши активизирует кнопку. Вряд ли вы будете использовать свойство IsDefaulted, хотя оно позволяет написать некоторые типы триггеров стилей. Если вам это не нужно, добавьте данное свойство в список малопонятных особенностей WPF, чтобы при случае озадачить своих коллег.

Классы ToggleButton и RepeatButton
Помимо Button, потомками класса ButtonBase являются еще три класса:
GridViewColumnHeader
Заголовок столбца, реагирующий на щелчок мышью, если используется табличный элемент ListView.
RepeatButton
В прижатом состоянии непрерывно генерирует события Click. Обычные кнопки генерируют событие Click только при полном щелчке на кнопке.
ToggleButton
Кнопка с двумя состояниями (нажата и отпущена). Если щелкнуть на кнопке ToggleButton, она будет оставаться нажатой до тех пор, пока вы не щелкнете на ней снова. Иногда такое поведение называют залипающим щелчком (sticky click).
Классы RepeatButton и ToggleButton определены в пространстве имен System.Windows.Controls.Primitives, что означает, что сами по себе они применяются редко. Как правило, они используются для построения более сложных элементов управления или расширения возможностей путем наследования. Например, класс RepeatButton используется для создания высокоуровневого элемента управления ScrollBar (который, в свою очередь, входит в состав еще более высокоуровневого элемента ScrollViewer).
RepeatButton придает кнопкам со стрелками на концах полосы прокрутки их фирменное поведение: прокрутка продолжается, пока они нажаты. Точно так же ToggleButton применяется для порождения более полезных классов CheckBox и RadioButton, которые будут рассмотрены ниже.
В то же время ни RepatButton, ни ToggleButton не являются абстрактными классами, поэтому их можно непосредственно применять в пользовательских интерфейсах. ToggleButton очень удобно использовать внутри элемента ToolBar.
Класс CheckBox
Кнопки CheckBox и RadioButton — кнопки другого вида. Они являются потомками класса ToggleButton, а это означает, что пользователь может включать и выключать их (отсюда и слово toggle в названии — "переключение"). В случае CheckBox включение элемента управления означает установку в нем флажка.
Класс CheckBox не добавляет никаких членов, поэтому базовый интерфейс CheckBox определяется в классе ToggleButton. Более важно то, что ToggleButton добавляет свойство IsChecked. Свойство IsChecked является расширенным логическим, т.е. оно может принимать значения true, false или null. Понятно, что true представляет установленный флажок, a false — сброшенный. Значение null используется для представления неопределенного состояния, которое отображается в виде серого квадратика.
Неопределенное состояние обычно служит для представления не заданных значений или областей, в которых возможны противоречия. Например, если имеется флажок, который позволяет применять жирный шрифт в текстовом приложении, а выбранный фрагмент содержит как жирный, так и обычный текст, можно присвоить флажку значение null, чтобы обозначить неопределенное состояние.
Чтобы присвоить значение null в разметке WPF, нужно использовать расширение разметки Null:
х:Null}"А check box in indeterminate state
Наряду со свойством IsChecked класс ToggleButton добавляет свойство IsThreeState, которое определяет, может ли пользователь установить флажок в неопределенное состояние. Если свойство IsThreeState равно false (по умолчанию), то щелчки меняют состояние флажка между "установлен" и "сброшен", а неопределенное состояние можно задать только с помощью кода. Если свойство ThreeState равно true, то щелчки на флажке будут по очереди давать все три возможных состояния.
Класс ToggleButton определяет также три события, которые возникают, когда флажок принимает одно из конкретных состояний: Checked, Unchecked и Indeterminate. В большинстве случаев удобнее объединить эту логику в одном обработчике события Click, которое наследуется от класса ButtonBase. Событие Click возникает при каждом изменении состояния кнопки.

Класс RadioButton
Класс RadioButton также порожден от класса ToggleButton и использует то же свойство IsChecked и те же события Checked, Unchecked и Indeterminate. Кроме того, RadioButton добавляет еще одно свойство GroupName, которое позволяет управлять группировкой переключателей.
Обычно переключатели группируются их контейнером. Это означает, что если поместить три элемента RadioButton в панель StackPanel, то они формируют группу, из которой можно выбрать только один из них. А если поместить комбинацию переключателей в две разных панели StackPanel, получатся две независимые группы.
Свойство GroupName позволяет переопределить это поведение. С его помощью можно создать несколько групп в одном контейнере или одну группу, которая будет охватывать несколько контейнеров. В любом случае это выполняется просто: достаточно присвоить "одногруппным" переключателям имя одной и той же группы.

Преподаватель М.Ж. Аубакирова