Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
к зачету по техпрог.docx
Скачиваний:
1
Добавлен:
01.07.2025
Размер:
139.43 Кб
Скачать

Содержание окна

  • В окне могут размещаться:

    • текст;

    • рисунки (схемы, карты, изображения);

    • другие окна (элементы управления);

Сообщения операционной системы

  • ОС оповещает окна о всех событиях, которые происходят на компьютере с помощью сообщений (messages).

  • Для каждой прикладной программы (application) с GUI создается очередь сообщений – message queue.

  • В эту очередь ОС отправляет все сообщения:

    • о изменении окна (Constructor; Load; Activated; Closing; Closed);

    • о изменении в работе ОС;

    • о выборе пользователем команд меню или нажатии кнопок в инструментальной полосе;

    • о действиях пользователя с «мышью» и клавиатурой;

    • и т.д.

В программе сообщения преобразуются в события.

Сообщения обо всех операциях пользователей, с мышью и клавиатурой, получает окно, которое имеет фокус ввода.

Сообщения отправляются в очередь сообщений того приложения, которому данное окно принадлежит.

Фокус ввода переключается: щелчком мыши в нужном окне, нажатием клавиши табуляции Tab.

Технологии разработки GUI в .Net Framework

В настоящее время существует две основные технологии разработки GUI в платформе .Net Framework:

  1. System.Windows.Forms

  2. Windows Presentation Foundation (WPF)

Графический интерфейс форм

План работы

  1. Основные элементы интерфейса окна программы.

  2. Меню

  3. Инструментальные полосы.

  4. Полосы состояния.

Типы окон программы

Приложение (прикладная программа - application) включает набор окон (Form)

Типы окон: Основное окно, Диалоги, Стандартные, Специальные

Элементы интерфейса основного окна

Основные элементы интерфейса формы приложения:

- Меню – иерархически организованный набор команд, которые может выполнить приложение.

- Инструментальные полосы – наборы графических элементов (иконок), которые позволяют выполнить команды приложения (дублируют пункты меню).

- Полоса состояния – набор ЭУ для отображения хода выполнения приложением различных задач.

Множество элементов ToolStrip

Предоставляют общие возможности для создания интерфейса пользователя в Windows Form [ToolStrip, MenuStrip, ContextMenuStrip, StatusStrip,ToolStripDropDown ]

Они предоставляют множество возможностей во время проектирования (Design mode) и во время выполнения (Run-time mode).

Класс ToolStripItem

- ToolStripItem это абстрактный базовый класс для всех элементов, которые могут размещаться в ToolStrip.

- Класс ToolStrip управляет рисованием, работой с клавиатурой и мышью этих элементов.

- Класс ToolStripItem управляет событиями и размещением элементов.

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

Один из основных интерфейсов программы.

Разные виды меню в программе:

  • Главное меню – MenuStrip

  • Контекстное меню – ContextMenuStrip

У формы есть свойства

  • MainMenuStrip – нужно присвоить ссылку на объект класса MenuStrip

  • ContextMenuStrip – нужно присвоить ссылку на объект класса ContextMenuStrip

Класс MenuStrip

Для показа на форме ссылка на объект MenuStrip должна быть присвоена свойству формы MainMenuStrip

Свойство Items() - коллекция пунктов меню:

- ToolStripMenuItem

- ToolStripComboBox

- ToolStripTextBox

- ToolStripSeparator

Класс пунктов меню ToolStripMenuItem

Свойства

Text – название пункта меню

DropDownItems() – коллекция пунктов меню

Checked – ставить ли метку у этого пункта

Enabled – активный ли пункт меню

Shortcut – горячие клавиши для вызова

События

Click (при щелчке по пункту меню)

Popup (перед показом данного пункта меню)

Select (курсор находится над пунктом меню)

Задание обработчика пункта меню

Создание нового пункта с заданным названием и обработчиком события Click.

ToolStripMenuItem miClose = new ToolStripMenuItem()

miClose.Text = "Close“;

miClose.Close += new EventHandler(CloseOnClick))

. . .

public void CloseOnClick(object o, EventArgs e)

{ frm.Close(); }

Задние пунктов подменю

- Подменю – массив пунктов меню.

- Создание нового пункта с заданным названием и массивом пунктов подменю (подменю).

Пример: создание пункта меню “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} );