1 / 39

Высокоуровневые методы информатики и программирования Лекция 2 3 Графический интерфейс форм

Высокоуровневые методы информатики и программирования Лекция 2 3 Графический интерфейс форм. План работы. Основные э лементы интерфейса окна программы. Меню Инструментальные полосы. Полосы состояния. Типы окон программы.

avi
Download Presentation

Высокоуровневые методы информатики и программирования Лекция 2 3 Графический интерфейс форм

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Высокоуровневые методы информатики и программированияЛекция 23Графический интерфейс форм

  2. План работы • Основные элементы интерфейса окна программы. • Меню • Инструментальные полосы. • Полосы состояния.

  3. Типы окон программы • Приложение (прикладная программа - application)включает набор окон (Form) • Типы окон • Основное окно • Диалоги • Стандартные • Специальные

  4. Элементы интерфейса основного окна • Основные элементы интерфейса формыприложения: • Меню – иерархически организованный набор команд, которые может выполнить приложение. • Инструментальные полосы – наборы графических элементов (иконок), которые позволяют выполнить команды приложения (дублируют пункты меню). • Полоса состояния – набор ЭУ для отображения хода выполнения приложением различных задач.

  5. Пример размещения элементы управления программы

  6. Примеры элементов MenuStrip

  7. Множество элементов ToolStrip • Предоставляют общие возможности для создания интерфейса пользователя в Windows Form • ToolStrip, • MenuStrip, • ContextMenuStrip, • StatusStrip, • ToolStripDropDown • Они предоставляют множество возможностей во время проектирования (Design mode)и во время выполнения (Run-time mode).

  8. Иерархия ToolStrip классов

  9. Класс ToolStripItem • ToolStripItem это абстрактный базовый класс для всех элементов, которые могут размещаться в ToolStrip. • Класс ToolStrip управляет рисованием, работой с клавиатурой и мышью этих элементов. • Класс ToolStripItem управляет событиями и размещением элементов.

  10. Иерархия ToolStripItem классов

  11. Классы меню Базовый класс ToolStrip Базовый класс ToolStripItem Основное меню MenuStrip Контекстное меню ContextMenuStrip Строка состояния StatusStrip Пункт меню ToolStripMenuItem Класс MenuStripимеeт свойство Items – коллекция элементов класса ToolStripMenuItem Класс ToolStripMenuItem имеeт свойство DropDownItems – коллекция элементов класса ToolStripMenuItem

  12. Работа с меню

  13. Меню Один из основных интерфейсов программы. Разные виды меню в программе: • Главное меню – MenuStrip • Контекстное меню – ContextMenuStrip У формы есть свойства • MainMenuStrip – нужно присвоить ссылку на объект класса MenuStrip • ContextMenuStrip – нужно присвоить ссылку на объект класса ContextMenuStrip

  14. Пример меню VB программа с меню Файл Справка Новый Выход MenuStrip Новый Выход Подменю ContextMenuStrip ToolStripMenuItem: Файл, Справка, Новый, Выход – связаны с обработчиками событий Click

  15. Структура меню MenuStrip MainMenuStrip ToolStripMenuItem Items ToolStripMenuItem Form DropDownItems DropDownItems ToolStripMenuItem Items ToolStripMenuItem Items ToolStripMenuItem

  16. Класс MenuStrip Для показа на форме ссылка на объект MenuStripдолжна быть присвоена свойству формы MainMenuStrip Свойство Items()- коллекция пунктов меню: ToolStripMenuItem ToolStripComboBox ToolStripTextBox ToolStripSeparator

  17. Класс пунктов менюToolStripMenuItem Свойства Text – название пункта меню DropDownItems() – коллекция пунктов меню Checked – ставить ли метку у этого пункта Enabled– активный ли пункт меню Shortcut – горячие клавиши для вызова События Click (при щелчке по пункту меню) Popup (перед показом данного пункта меню) Select (курсор находится над пунктом меню)

  18. Задание обработчика пункта меню Создание нового пункта с заданным названием и обработчиком событияClick. ToolStripMenuItem miClose = new ToolStripMenuItem() miClose.Text = "Close“; miClose.Close += new EventHandler(CloseOnClick)) . . . public void CloseOnClick(object o, EventArgs e) { frm.Close(); }

  19. Задние пунктов подменю • Подменю – массив пунктов меню. • Создание нового пункта с заданным названием и массивом пунктов подменю (подменю). Пример: создание пункта меню “File”, который показывает подменю с двумя пунктами (“New”, “Close”) MenuStripItem miFile = new MenuStripItem( ); miFile.Text = “File“; // добавляем по пунктам miFile.DropDownItems.Add(miNew); miFile.DropDownItems.Add(miClose); // или создаем и инициализируем массив пунктов меню miFile.DropDownItems.AddRange (new MenuStripItem[ ] {miNew, miClose} );

  20. Контекстноеменю (ContextMenuStrip) Появляется при нажатии правой клавиши на поверхности формы появится контекстное меню. Элемент класса ContextMenuStrip должен быть присвоен свойству формы Form.ContextMenuStrip Запомнить: при работе в режиме Design созданное контекстное меню автоматически свойству формы не присваивается. Надо вручную свойству формы ContextMenuStripзадать ссылку на созданное контекстное меню.

  21. Пример контекстного меню элемента TextBox

  22. Создание контекстного меню Создать элемент класса ContextMenuStrip Задать пункты меню – элементы ToolStripMenuItem Задать обработчики событий для пунктов меню Присвоить ссылку на созданный объект ContextMenuStrip свойству формы ContextMenuStrip(в окне Properties для формы)

  23. Инструментальная полоса –класс ToolStrip Предназначена для размещения ЭУ, которые вызывают некоторые действия программы. Обычно инструментальная полоса содержит ЭУ для быстрого выполнения команд меню.

  24. Основные свойства класс ToolStrip Items – коллекция ЭУ, включенных в инструментальную полосу; Dock – прикрепление инструментальной полосы к краям формы; RenderMode – способ отрисовки инструментальной полосы.

  25. Примеры элементов ToolStripItem

  26. Примеры элементов ToolStripItem

  27. ЭУ для размещения в ToolStrip ToolStripButton ToolStripSplitButton ToolStripLabel ToolStripDropDownButton ToolStripTextBox ToolStripProgressBar ToolStripComboBox ToolStripSeparator

  28. Класс StatusStrip • Строка состояния показывает сообщения о ходе работы программы • Для добавления к форме нужно создать экземпляр класса StatusStrip (вручную или с помощью дизайнера). • В добавленный объект могут быть вставлены объекты разных типов (ToolStripStatusLabel, ToolStripProgressBar и др.).

  29. Типы интерфейсов

  30. Типы интерфейсов приложений SDI – single document interface MDI – multiple document interface

  31. Типы интерфейсов приложений • SDI – single document interface • MDI – multiple document interface • Parent Form – контейнер для Child form • свойство IsMDIContainer =True • Child Form – дочернее окно, создается в клиентской области Родительского окна • свойство MdiParent = <ссылка на MDI Parent>

  32. SDI интерфейс

  33. MDI интерфейс

  34. Пример MDI интерсейса

  35. Создание MDI интерфейса В родительской форме (parent form – контейнер для Child form) задается свойство: IsMDIContainer=True В дочерней форме (child form – дочернее окно, создается в клиентской области Родительского окна) задается свойство: MdiParent = <ссылка на MDI Parent>

  36. Создание дочернего окна рrivate void mnuProd_Click(object o, EventArgs) { static int intCount; intCount ++; frmProductsfrm = new frmProducts(); frm.MdiParent = this; frm.Text = frm.Text + " " + intCount.ToString(); frm.Show(); }

  37. Меню в MDI • Дочернее окно может иметь свое меню; • При работе с дочерним окном, меню родительского и дочернего окна объединяются (merged) • Каждый MenuItem имеют свойства MergeOrder и MergeType. • Свойство MergeOrder задает относительной позицией menu item при слиянии с родительским меню. По умолчанию значение 0, указывает, что menu item будет добавлено в конец существующих menu items. • Свойство MergeType задает,поведение menu item, если относительные позиции элементов меню при объединении совпадают. • Add – добавление к уже имеющимся элементам (по умолчанию) • MergeItems – подэлементы данного элемента объединяются с совпавшим элементом родительского меню; • Remove – элемент не добавляется • Replace – элемент заменяет элемент родительского меню.

  38. рrivate void mnuCascade_Click( Object o, EventArgs e) { this.LayoutMdi(MdiLayout.Cascade) } ActiveMdiChild – ссылка на активное дочернее окно.

More Related