Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
Shporka EK.docx
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.38 Mб
Скачать
  1. Елемент управління Panel. Елемент управління SplitContainer. Елементи управління UpDown.

Елемент управління Panel

Використовується для логічного групування елементів управління

За рахунок зміни властивості Visible дозволяє приховувати групи елементів управління, розміщених на панелі

Елемент управління SplitContainer

Представляє собою дві панелі, для яких можна змінювати область, що вони займають під час виконання програми

Елементи управління UpDown

Для вибору серед набору значень чи введення чисел шляхом перебору значень є два елементи управління : DomainUpDown та NumericUpDown

Для NumericUpDown властивість Value містить поточне значення

Для DomainUpDown можливі варіанти необхідно задати до властивості Items, поточне значення доступне через SelectedItem чи SelectedIndex

  1. Клас Graphics. Сеанси Paint. Доступ до об’єкта Graphics поза обробником Paint.

Клас Graphics

Клас Graphics безпосередньо відповідає за побудову графіки у GDI+, він надає як поверхню, на якій відбувається формування графіки, а також методи, які виводять графіку

Клас не дозволяє безпосереднього створення своїх екземплярів. Члени класу Graphics:

Звільнення об’єктів Graphics

Об’єкт Graphics використовує ресурси системи, тому він має звільнятися як тільки стає непотрібний для вирішення конкретної задачі

Якщо об’єкт Graphics отриманий у якості посилання на вже існуючий об’єкт, то його звільняти не потрібно (наприклад, об’єкт, отриманий для форми під час обробки події Paint), якщо об’єкт створено в результаті виконання певних операцій програмістом (наприклад, завантаження зображення із файлу), то він має бути звільнений за допомогою метода Dispose() як тільки стає непотрібним

Сеанси Paint

Коли елемент графічного інтерфейсу, такий як, наприклад, форма, вимагає перерисування, то він генерує подію Paint, у відповідь на яку необхідно викликати код, що відповідає за рисування позначеного елементу інтерфейсу

Існує два способи обробки події:

перевизначити метод OnPaint()

реалізувати обробник події Paint

В процесі обробки події Paint можна отримати доступ до об’єкту Graphics, який відповідає за даний елемент управління і за допомогою якого відбувається виведення графіки

Приклад обробки події Paint для форми

Даний код необхідно помістити у обробник події Paint форми

private void Form1_Paint(object sender, PaintEventArgs e)

{

Graphics g = e.Graphics;

g.DrawString("Обробка події Paint форми", new Font("Times New Roman", 20),

Brushes.Red, 0, 0);

}

Оновлення клієнтської області форми

Подія Paint викликається операційною системою автоматично у випадку, якщо форма вимагає перерисування, наприклад, коли змінюються її розміри, або вона була перекрита іншою формою. Цей стан (тобто момент між потребою в оновленні і фактичним оновленням) називається “брудним”

Програмно позначити необхідність перерисування форми (тобто фактично перевести її у “брудний стан”) можна за допомогою методу Invalidate().

Метод Invalidate() може бути викликаний без параметрів, у такому разі оновленню підлягає вся форма, а може бути викликаний з параметром типу Rectangle, який задає область, що підлягає оновленню

Доступ до об’єкта Graphics поза обробником Paint

В окремих ситуаціях необхідно отримати доступ до об’єкта Graphics за межами обробника події Paint

Зробити це можна за допомогою статичного методу Graphics.FromWnd (), який дозволяє отримати об’єкт на основі вікна системи

Необхідно передбачити, щоб уся інформація, яка виводиться за межами обробника Paint, зберігалася при повторному виклику, інакше вона буде втрачена

Приклад:

private void Form1_MouseDown(object sender, MouseEventArgs e)

{

Graphics g = Graphics.FromHwnd(this.Handle);

g.FillEllipse(Brushes.Firebrick, e.X, e.Y, 10, 10);

g.Dispose();

}

  1. Введення до графічного програмування з використанням GDI+. Тип Point.

Введення до програмування графіки з використанням GDI+

GDI+ - це технологія платформи .NET Framework, за допомогою якої реалізується виведення графіки, у тому числі і шрифтів (розшифровується як Graphical Device Interface)

Доступ до можливостей GDI+ реалізується через відповідні простори імен:

Тип Point

Тип Point визначений у просторі імен System.Drawing і призначений для збереження інформації і маніпулювання даними точки у двовимірній системі координат

За допомогою конструктора Point(x,y) можна створити екземпляр типу, передавши йому початкові координати точки

За допомогою методу Offset(x, y) можна змінювати координати точки

Тип Point реалізує перевантажені арифметичні оператори і оператори порівняння, за допомогою яких можна здійснювати арифметичні операції над координатами точок та перевіряти відповідність координат різних екземплярів типу

Приклад використання типу Point

using System;

using System.Drawing;

namespace PointExample

{

class Program

{

static void Main(string[] args)

{

Point pt = new Point(100, 72);

Console.WriteLine(pt);

pt.Offset(20, 20);

Console.WriteLine(pt);

Point pt2 = new Point(120, 92);

if (pt == pt2)

Console.WriteLine("Точки однаковi");

else

Console.WriteLine("Точки різнi");

}

}

}

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]