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

Контекстное меню (ContextMenuStrip)

  • Появляется при нажатии правой клавиши на поверхности формы появится контекстное меню.

  • Элемент класса ContextMenuStrip должен быть присвоен свойству ContextMenuStrip соответствующего ЭУ.

  • Запомнить: при работе в режиме Design созданное контекстное меню автоматически свойству формы не присваивается. Надо вручную свойству формы ContextMenuStrip задать ссылку на созданное контекстное меню.

Создание контекстного меню

  1. Создать элемент класса ContextMenuStrip

  2. Задать пункты меню – элементы ToolStripMenuItem

  3. Задать обработчики событий для пунктов меню

  4. Присвоить ссылку на созданный объект ContextMenuStrip свойству формы ContextMenuStrip (в окне Properties для формы)

Инструментальная полоса – класс ToolStrip

  • Предназначена для размещения ЭУ, которые вызывают некоторые действия программы.

  • Обычно инструментальная полоса содержит ЭУ для быстрого выполнения команд меню.

Основные свойства класс ToolStrip

  • Items – коллекция ЭУ, включенных в инструментальную полосу;

  • Dock – прикрепление инструментальной полосы к краям формы;

  • RenderMode – способ отрисовки инструментальной полосы.

ЭУ для размещения в ToolStrip

ToolStripButton, ToolStripSplitButton, ToolStripLabel, ToolStripDropDownButton, ToolStripTextBox, ToolStripProgressBar, ToolStripComboBox, ToolStripSeparator.

Контейнеры для ЭУ ToolStrip

  • ToolStripPanel – ЭУ, который может включать несколько ЭУ ToolStrip.

  • ToolStripContainer – ЭУ, который включает четыре ЭУ ToolStripPanel

Класс StatusStrip

  • Строка состояния показывает сообщения о ходе работы программы

  • Для добавления к форме нужно создать экземпляр класса StatusStrip (вручную или с помощью дизайнера).

  • В добавленный объект могут быть вставлены объекты разных типов (ToolStripStatusLabel, ToolStripProgressBar и др.).

Типы интерфейсов приложений

  • SDI – single document interface

  • MDI – multiple document interface

    • Parent Form – контейнер для Child form

      • свойство IsMDIContainer = True

    • Child Form – дочернее окно, создается в клиентской области Родительского окна

      • свойство MdiParent = <ссылка на MDI Parent>

Создание MDI интерфейса

  • В родительской форме (parent form – контейнер для Child form) задается свойство:

IsMDIContainer = True

  • В дочерней форме (child form – дочернее окно, создается в клиентской области Родительского окна) задается свойство:

MdiParent = <ссылка на MDI Parent>

Создание дочернего окна

рrivate void mnuProd_Click(object o, EventArgs)

{

static int intCount;

intCount ++;

frmProducts frm = new frmProducts();

frm.MdiParent = this;

frm.Text = frm.Text + " " + intCount.ToString();

frm.Show();

}

Меню в MDI

  • Дочернее окно может иметь свое меню;

  • При работе с дочерним окном, меню родительского и дочернего окна объединяются (merged)

  • Каждый MenuItem имеют свойства MergeOrder и MergeType.

  • Свойство MergeOrder задает относительной позицией menu item при слиянии с родительским меню. По умолчанию значение 0, указывает, что menu item будет добавлено в конец существующих menu items.

  • Свойство MergeType задает, поведение menu item, если относительные позиции элементов меню при объединении совпадают.

    • Add – добавление к уже имеющимся элементам (по умолчанию)

    • MergeItems – подэлементы данного элемента объединяются с совпавшим элементом родительского меню;

    • Remove – элемент не добавляется

    • Replace – элемент заменяет элемент родительского меню.

РИСОВАНИЕ В ФОРМЕ

План работы

  • Класс Graphics

    • Инструменты рисования (Перо, Кисть, Шрифт)

  • Рисование фигур

  • Работа с изображениями

Рисование в окне

Дисплей

  • Устройство для отображения световых точек на поверхности экрана

  • Поверхность экрана содержит одну прямоугольную матрицу элементарных точек – пикселей.

  • Размер каждого пикселя зависит от режима работы дисплея.

  • Каждая точка описывается набором данных 1-4 байта

Пиксель (pixel)

  • Минимальный элемент изображения на дисплее (от слов picture и element).

  • Пиксели упорядочены в двухмерную таблицу и имеют координаты X (номер столбца) и Y (номер строки).

  • С каждым пикселем связан набор данных 1- 24 бит, которые задают цвет точки (bits per pixel, bpp)

    • 1 bpp, 21 = 2 цвета (монохромный)

    • 2 bpp, 22 = 4 цвета

    • 3 bpp, 23 = 8 цветов

    • ...

    • 8 bpp, 28 = 256 цветов

    • 16 bpp, 216 = 65,536 цветов ("Highcolor" )

    • 24 bpp, 224 ≈ 16.8 млн. цветов ("Truecolor")

  • Пиксель имеет физические размеры. Обычно пиксели измеряются в

    • dots per inch (dpi) или

    • pixels per inch (ppi) (для дисплея это одно и тоже).

Разрешение дисплея

  • Разрешение дисплея это количество различных пикселей по каждому измерению, которые могут отображаться.

  • Дисплей может работать в различных режимах с разными разрешениями.

  • К стандартным разрешениям дисплея относятся:

Основной класс рисовния System.Windows.Drawing.Graphics

  • Соответствует контексту устройства операционной системы (hdc - handle of context device)

  • Используется для рисования на поверхности окна

  • Использует Graphic Device Interface + (GDI+)

Класс аргументов для события рисования в окне

  • При обработке события Paint вторым параметром передается объект класса PaintEventArgs

  • Объект PaintEventArgs содержит дополнительные данные

    • Graphics – ссылка на объект Graphics

    • ClipRectangle – испорченная прямоугольная область

Пространство имен System.Drawing

Используется библиотека GDI+ (gdiplus.dll)

Пространства имен библиотеки

Пространства имен рисования

  • System.Drawing – содержит большинство классов, структур, перечислений и делегатов, связанных с рисованием.

  • System.Drawing.Drawing2D – включает классы, поддерживающие более продвинутое 2D и векторное рисование, включая сглаживание (anti-aliasing), геометрические преобразования (transformations) и графические пути (paths)

  • System.Drawing.Imaging – включает различные классы, которые помогают работать с изображениями (bitmap, GIF file и т.п.)

  • System.Drawing.Printing – включает классы для вывода на принтер или предварительного просмотра результатов вывода на принтер;

  • System.Drawing.Design – включает некоторые стандартные диалоги (dialog boxes), таблицы свойств (property sheets) и другие элементы пользовательского интерфейса с расширенным интерфейсом пользователя во время пректирования.

  • System.Drawing.Text – содержит классы для выполнения наиболее совершенных действий с шрифтами (fonts) и семействами шрифтов (font families).