
- •Лабораторная работа 1 Тема: Типы данных и операторы языка с#. Массивы. Строки. Регулярные выражения
- •Типы данных c#
- •Преобразования типов
- •Преобразования строк в число. Класс Convert
- •Массивы в c#
- •Int[] k; //k – одномерный массив
- •Базовый класс System.Array
- •Строки в с# Класс Сhar
- •Класс String
- •Строковые константы
- •Пространство имен RegularExpression и классы регулярных выражений
- •Синтаксис регулярных выражений
- •Классы пространства RegularExpressions
- •1. Проработать примеры 1-8, данные в теоретических сведениях. Создать на их основе программы. Получить результаты работы программ и уметь их объяснить. Внести их в отчет с комментариями.
- •2. Выполнить два задания на двумерный массив по заданному номеру варианта и номеру, отсчитанному с конца.
- •3. Выполнить два задания на строки по заданному номеру варианта и номеру, отсчитанному с конца. Использовать в задачах два класса строк: String и StringBuilder.
- •4. Выполнить задание на применение регулярных выражений. Выбрать одно по заданному номеру.
- •Лабораторная работа 2 Тема: Структуры и перечисления как частные виды классов. Классы. Интерфейсы
- •[Атрибуты][модификаторы]enum имя_перечисления[: базовый класс] {список_возможных_значений}
- •[Атрибуты][модификаторы]struct имя_структуры [:список_интерфейсов] {тело_структуры}
- •Классы в c# [атрибуты][модификаторы]class имя_класса [:список_родителей] {тело_класса}
- •Индексаторы
- •Статические поля и методы класса
- •Наследование
- •Интерфейсы
- •Две стратегии реализации интерфейса
- •Преобразование к классу интерфейса
- •Проблемы множественного наследования
- •Коллизия имен
- •Ip1.Prop1("интерфейс iProps: свойство 1");
- •Ip1.Prop2("интерфейс 1 ", 88);
- •Ip2.Prop1("интерфейс iPropsOne: свойство1");
- •2. Наследование от общего предка
- •Обработка исключительных ситуаций
- •Блок finally
- •Лабораторная работа 3 Тема: Разработка gui. Создание sdi-приложений. Обработка событий
- •Создание простых форм с помощью комплекса инструментальных средств разработки программ .Net sdk
- •Режимы дизайна и кода
- •Элементы управления
- •Общие свойства, события и методы элементов управления
- •Обработка событий в Windows Forms
- •События MouseDown и Keypress
- •Форматирование элементов управления
- •Создание меню
- •Закрытие формы
- •Диалоговые окна
- •Создание панели инструментов
- •Список элементов ListBox
- •Потоковые классы
- •Встроенные типы данных и потоки
- •Класс File
- •Сериализация объектов
- •Создание многооконного приложения
- •Для каждого пункта меню пишем обработчики событий, выполняющие соответсвтвующие пункту действия. Перечисление MdiLayout
- •Вырезание, копирование и вставка текстовых фрагментов
- •Контекстное меню
- •Диалоговые окна
- •Сохранение файла при закрытии формы
- •OpenFileDialog и SaveFileDialog для sdi-приложений
- •Лабораторная работа 5 Тема: Создание и вывод графический изображений на форму. Анимация.
- •Класс Region
- •Вывод графических объектов без события Paint
- •Возможности класса Graphics
- •Класс Pen
- •Вывод изображений
- •Элемент управления PictureBox
- •Вывод изображений и двойная буферизация
Вывод изображений
Тип System.Drawing.Image используется для вывода изображений. Класс Image определяет множество свойств и методов, которые можно использовать для настройки параметров выводимого изображения. К примеру, при помощи свойств Width, Height и Size можно получить или установить размеры изображения. Кроме того, в пространстве имен System. Drawing.Imaging определено множество типов для проведения сложных преобразований изображений.
Наиболее важные члены класса Image представлены в табл.7. Многие из этих членов являются статическими, а некоторые — абстрактными.
Таблица 5.7. Члены класса Image
Член |
Назначение |
FromFile() |
Этот статический метод предназначен для создания объекта Image из файла |
FromHbitmap() |
Создает объект Bitmap на основе идентификатора окна (Window handle) |
FromStream() |
Позволяет создать объект Image, используя в качестве источника поток данных |
Height Width Size Physical Dimensions Horizontal Dimensions Vertical Resolution |
Все эти свойства предназначены для работы с размерами (измерениями) изображения |
GetBounds() |
Возвращает прямоугольник, представляющий текущую область, занятую изображением |
Save() |
Позволяет сохранить изображение в файл |
Класс Image является абстрактным, и создавать объекты этого класса нельзя. Обычно объявленные переменные Image присваиваются объектам класса Bitmap. Кроме того, можно создавать объекты класса Bitmap напрямую. Например, предположим, что необходимо вывести на форму три изображения. Можем объявить три переменные Image, а затем использовать для каждой из них объекты Вitmap:
private Image bMapImageA;
Вывод полученных изображений производится с помощью специального метода, который называется — DrawImage(). Этот метод многократно перегружен, поэтому есть множество вариантов того, как поместить изображение в нужное место на форме. Кроме того, для настройки параметров выводимого изображения можно использовать с этим методом значения перечислений ImageAttributes и GraphicsUnit. Координаты вывода изображения можно указать при помощи объектов Point, Rectangle, целочисленными значениями или значениями с плавающей запятой. Например:
private void Form1_Paint(Object sender, PaintEventArgs e) {
Graphics g = e.Graphics;
// Используем объекты класса Bitmap
bMapImageA = new Bitmap("D:\\1.png");
// Выводим изображения при помощи Graphics.DrawImage()
g.DrawImage(bMapImageA, 10, 10)
}
Класс Bitmap позволяет выводить изображения, которые хранятся в файлах самого разного формата. Например:
// Тип Bitmap поддерживает все распространенные форматы!
Bitmap myBMP = new Bitmap(“CoffeeCup.bmp");
Bitmap myGIF = new Bitmap(“Candy.gif");
Bitmap ntyJPEG = new Bitmap(“Clock.jpg");
Bitmap myPNG = new Bitmap("Speakers.png");
// Выводим изображения при помощи Graphics.DrawImage()
g.DrawImage(myBmp, 10, 10);
g.DrawImage(myGIF, 220, 10);
g.DrawImage(myJPEG, 280, 10);
g.DrawImage(myPNG, 150, 200);
Перетаскивание, проверка попадания в область, занимаемую изображением.