Раздел № III . Разработка программ с графическим интерфейсом
Тема 8.
Интерфейс программы и событийное программирование
Лекция 8.1.
Интерфейс Windows- программ .
Литература
Основная:
Павловская Т.А. C #. Программирование на языке высокого уровня. Учеб. для вузов. – СПб: Питер, 2008 – 432 с.
Павловская Т.А., Щупако Ю.А. C / C ++. Структурное программирование, Питер, 2005. – 402 с.
Дополнительная:
Гросс К. С# 2008: Пер. с. анг. – СПб. БХВ-Петербург, 2009. – 576 с.
Троелсен Э. Язык программирования С# 2005 и платформа /NET 2.0:пер. с анг. – М:. ООО «И.Д. Вильямс, 2007. – 1168 с.
Вопросы:
1. Понятие интерфейса программы.
2. Компоненты интерфейса.
3. Стандартные визуальные компоненты и их свойства.
1. Понятие интерфейса программы
Пользовательский интерфейс – совокупность информационной модели предметной области, средств и способов взаимодействия пользователя с этой моделью, а также компонентов, обеспечивающих формирование модели в процессе работы программы.
Информационная модель – условное представление предметной области, формируемое с помощью визуальных и звуковых объектов.
Средства и способы взаимодействия с информационной моделью определяются аппаратными и программными средствами, имеющихся в распоряжении пользователя, характером решаемых задач. Чтобы решить задачу на ЭВМ пользователь должен знать правила работы. Для аппаратных средств правила воспринимаются как вполне однозначные и понятные (например, CD не пытаются поместить гнездо для ГМД).
Сложнее с программными средствами:
- для программ трудно сформулировать объективные требования по составу и компоновке органов управления;
- перечень возможностей значительно шире, а состав меняется значительно быстрее, чем аппаратные средства.
Часто программы, равноценные по назначению, существенно различаются по организации взаимодействия с пользователем (интерфейсы не лучше или хуже, а просто различные).
Качество пользовательского интерфейса является одним из основных свойств программ. Необходимо уметь разрабатывать хороший интерфейс.
Интерфейс следует разрабатывать, ориентируясь на интересы пользователя. Свойства хорошего интерфейса:
Естественность . Обеспечивает привычные для пользователя способы работы с программой. Результаты обработки и сообщения программы не требуют дополнительных пояснений, обозначения и термины соответствуют предметной области. Использование знакомых пользователю образов и метафор (рабочий стол, папка, документ и др.).
Согласованность . Обеспечивает перенос имеющихся представлений на новую программу (визуальное представление, имена команд, поведение визуальных элементов). Согласованность в пределах программы и операционной среды.
Дружественность . Разрешение выполнения допустимых команд, предотвращение нежелательных последствий, предупреждение об опасных ситуациях, возможность отмены выполненного действия.
Наличие обратной связи . Действия пользователя своевременно подтверждаются визуально или звуком.
Простота и полнота . Обеспечивает легкость освоения и использования, доступность всех функциональных возможностей. Возможные подходы: отображение на экране информации, минимально необходимой для выполнения шага задания; отсутствие многословных команд и сообщений; группирование элементов интерфейса по их логической взаимосвязи; последовательное раскрытие диалоговых окон или меню.
Гибкость . Учет уровня квалификации пользователя.
Эстетическая привлекательность . Привлекательная цветовая гамма, возможность ее изменения по вкусу пользователя, грамотность текста, использование удобочитаемых шрифтов.
Цвет является сильным средством воздействия на психику человек. Неудачное цветовое решение приводит к быстрому утомлению пользователя, к частым ошибкам. Удачно подобранные цветовые решения, осмысленные цветовые акценты создают комфортные условия работы. С помощью цвета можно привлечь внимание, отобразить различные состояния объекта. Восприятие цвета индивидуально (некоторые люди не воспринимают цвета), в разных странах существуют различные традиции в применении цвета.
Не следует злоупотреблять ярким цветом, например, сочетаниями яркого красного на зеленом или черном фоне, не желательно применять в значительном объеме фиолетовый цвет. Для фона лучше применять нейтральные цвета (светло-серый, салатный и т.п.). Лучше использовать базовый набор цветов, применение палитры из 16 или 32 миллионов цветов может замедлить работу приложения.
Стандартизованный графический интерфейс пользователя ( GUI – Graphical User Interface) :
- использование единой рабочей среды в виде рабочего стола. Объекты задачи представлены на столе в виде графических образов – пиктограмм и окон. Действия выполняются не только с помощью команд, а в основном путем прямого манипулирования объектами;
- многооконность. Позволяет получить доступ к нескольким источникам информации одновременно;
- объектно-ориентированный подход. Первичными являются обрабатываемые данные, а не средства обработки;
- применение средств неклавиатурного ввода информации;
- узнаваемый (использование стандартных элементов с узаконенными названиями, свойствами, отношениями);
- «работа с тем, что видишь»;
- «что видишь, то и получишь».
2. Компоненты интерфейса
Существуют две модели интерфейса приложений:
- интерфейс с одним документом SDI ;
- интерфейс с множеством документов MDI .
Интерфейс SDI не обязательно содержит только одно окно, в нужные моменты можно создавать вторичные окна, например, для открытия файлов. Эту модель интерфейса следует считать основной.
В приложении MDI имеется родительское окно и ряд дочерних окон. Приложения MDI рекомендуется использовать, если дочерние окна содержат идентичные объекты, например текст. Применять эту модель интерфейса не рекомендуется.
Основным элементом приложения является форма – контейнер, в котором размещаются все другие компоненты. Для пользователя форма это окно. Виды, структура и перечень параметров окон стандартизированы для Windows .
Окно может содержать визуальные элементы управления:
- основное меню ( MenuStrip и ContextMenuStrip );
- панели инструментальных кнопок ( ToolStrip );
- контекстное меню ( ContextMenuStrip );
- простые элементы управления:
кнопки Button , CheckBox , RadioButton ,
средства отображения текста Label ,
средства ввода и редактирования текста TextBox , RichTextBox ;
- списки CheckedListBox , ComboBox , ListBox ;
- средства группирования элементов (контейнеры) GroupBox , Panel ;
- диалоговые окна для выбора файла, печати, цвета;
- др.
Все визуальные компоненты могут быть отображены на форме во время выполнения программ. Доступ ко многим свойствам таких компонентов возможен напрямую пользователем или программно.
Существуют невизуальные компоненты, которые не отображаются во время выполнения программы, например Timer . Доступ к ним во время выполнения возможен только программно.
Перечень рубрик стандартных элементов управления представлен на панели элементов
Щелчок по знаку + раскрывает соответствующий список.
3. Стандартные визуальные компоненты и их свойства
Запуск интегрированной среды для разработки приложения с графическим интерфейсом осуществляется разработки консольного приложения. Но при создании нового проекта следует выбрать Тип проекта Windows и Шаблон Приложение Windows Forms .
Далее следует задать:
имя приложения;
расположение файлов проекта;
имя решения.
После нажатия кнопки ОК откроется окно конструктора.
Если Панель элементов или окно Свойства не отображаются, то следует воспользоваться соответствующими подпунктами меню Вид .
Для задания характеристик формы (окна) существует несколько десятков свойств.
Свойство FormBorderStyle определяет общий вид окна и операции с ним, которые разрешены выполнять пользователю, например:
Sizeable - обычный вид окна с заголовком, возможностью изменять размер окна с помощью мыши и системного меню (кнопок);
FixedDialog – неизменяемое по размерам окно;
None – без полосы заголовка. Размеры окна и его перемещение по экрану запрещено (закрыть такое активное окно можно, нажать клавиши Alt + F4) .
Ряд свойств оправляет отображением кнопок Системного меню, Свернуть, Развернуть окно.
Свойство WindowsState определяет вид, в котором окно первоначально появляется на экране после запуска программы:
Normal - положение окна задается свойством StartPosition , например в центре экрана CenterScreen ;
Minimized - окно свернуто;
Maximized - окно развернуто на весь экран.
Свойство AutoScroll определяет, будут ли появляться полосы прокрутки, если пользователь изменить размер окна так, что не все содержимое можно отобразить.
Окно задания свойств формы
Размер формы при проектировании можно изменять мышкой, перетаскивая границы формы, или задавать в виде числовых значений в Size .
Для разработки приложений с графическим интерфейсом используется пространство имен System.Windows.Forms . Основное количество элементов управления являются производными от класса S ystem.Windows.Forms .Control .
Этот класс является родительским и определяет основные возможности элементов – наследников. Поэтому их многие свойства и события идентичны для наследников. Некоторые элементы, в свою очередь, являются родительскими для других компонентов.
Проектирование формы:
1) на Панели элементов щелчком по крестику раскрывается перечень соответствующих стандартных компонентов;
2) в перечне щелчком мыши выбирается нужный элемент;
3) на форме в нужном месте мышью создается графический образ компонента. При необходимости мышью корректируется размеры и размещение элемента;
4) в окне Свойства производится установка нужных значений параметров выделенного объекта (выделение объекта на форме производится щелчком мыши). Пункты 2 - 4 повторяются при нанесении и настройке всех составляющих графического интерфейса.
В любой момент можно запустить приложение на выполнение, не выходя из среды программирования, и просмотреть как будет выглядеть интерфейс при выполнении программы. Закрытие приложения обеспечивает возврат в режим проектирования.
Наиболее часто используемые свойства класса Control
Anchor . Указывает поведение элемента управления при изменении размеров его контейнера.
BackColor . Цвет фона элемента управления.
Bottom . Указывает расстояние от верхнего края окна до нижнего края элемента управления. Это свойство не совпадает с указанием высоты элемента управления.
Dock . Пристыковывает элемент управления к краям его контейнера.
Enabled . Установка значения свойства равным true означает, что элемент управления может принимать данные, вводимые пользователем. Установка равным false означает невозможность приема данных.
ForeColor . Цвет изображения элемента управления.
Height . Расстояние между верхним и нижним краями элемента управления.
Left . Положение левого края элемента управления относительно левого края его контейнера.
Name . Имя элемента управления. Это имя используется для ссылки на элемент управления в программе.
Parent . Родительский объект элемента управления.
Right . Положение правого края элемента управления относительно левого края его контейнера.
Tabindex . Порядковый номер элемента управления в последовательности перехода между элементами внутри его контейнера по клавише табуляции.
Tabstop . Указывает доступность элемента управления по клавише табуляции.
Tag . Обычно это значение не используется элементом управления.
Text . Содержит текст, связанный с данным элементом управления
T ор . Положение верхнего края элемента управления относительно верхнего края
контейнера
Visible . Указывает видимость элемента управления во время выполнения
Width . Ширина элемента управления
Свойства Anchor и Dock
Призваны помочь в решении задачи исключения искажений формы при изменении размера окна пользователем.
Свойство Anchor указывает поведение элемента управления при изменении размера окна: можно задать возможность изменения размера элемента при сохранении пропорций, либо – сохранять размеры и позицию относительно краев окна.
Свойство Dock указывает, что элемент должен пристыковываться к краю своего контейнера. Если размеры окна изменяются, элемент управления остается пристыкованным независимо от размера окна.
Пространство имен S ystem.Windows.Forms .Control предоставляет три элемента управления, соответствующие кнопкам Button , CheckBox и RadioButton .
Элемент управления кнопка Button .
Это прямоугольная кнопка, щелчком по которой можно запускать на выполнение какие-либо действия:
- закрыть окно с определенным состоянием (например, кнопки ОК, Отмена);
- выполнить действие с данными, введенными в диалоговое окно (сложить числа);
- открыть диалоговое окно (открыть окно Справка) и др.
Свойства элемента Button .
FlatStyle – стиль кнопки. Если указать Flat , то при перемещении указателя мыши над ней, она закрашивается. Если указать Popup , то при перемещении указателя мыши над ней, она изменяет свой вид с плоского на трехмерное изображения. Имеются и другие значения.
Enabled - доступность кнопки для пользователя. Значение true означает доступность кнопки - щелчок вызывает запрограммированное действие. А если false - кнопка становится затемненной и щелчок по ней не вызывает никаких действий.
Text - соответствует надписи на кнопке. Можно записывать текст на русском и английском языке.
Name – имя элемента. Присваивается по умолчанию ButtonN , где N - порядковый номер кнопки при нанесении ее на форму. Можно изменять.
Элементы управления Label и LinkLabel .
Элемент Label служит только для отображения текста внутри формы. Элемент LinkLabel отображает надпись, но в виде гиперссылки.
Свойства Label :
AutoSize – управление размером элемента. Если свой равно true , размер элемента подбирается автоматически по тексту, если false – размер задается разработчиком.
BorderStyle - стиль рамки вокруг надписи. По умолчанию рамка отсутствует.
TextAlign – выравнивание текста по горизонтали и вертикали.
Элементы управления TextBox и RichTextBox .
Предназначены для ввода пользователем текста (в том числе и чисел) или для отображения текста.
Свойства TextBox
CharacterCasing – управление регистром вводимого текста. Если задано значение Lower – введенный текст преобразуется в строчный, Normal - текст не изменяется, Upper - введенный текст преобразуется в прописной.
MaxLength – максимальная допустимая длина текста в символах. Если указан 0, то длина не ограничена.
MultiLine – разрешение / запрещение отображения текста в несколько строк. Если разрешено, то программист может менять вертикальный размер элемента.
WordWrap – для многострочного текста запрещает или разрешает автоматический перенос по словам, если длина текста превышает ширину элемента управления.
Элемент управления RichTextBox .
Как и для элемента управления TextBox , отображаемый текст задается свойством Text . В элементе управления RichTextBox содержится множество свойств для форматирования текста.
.
Вопросы для самоподготовки
1.
.


Разработка программ с графическим интерфейсом (1.32 MB)

