- •Передумови та історія виникнення об’єктно-орієнтованого підходу до створення програних систем.
- •Основні положення об’єктної моделі. Класи та об’єкти.
- •Відмінність між класом та об’єктом.
- •Складові класу. Поля класу. Методи класу.
- •Позначення класу. Задання видимості членів класу.
- •Інкапсуляція, наслідування та поліморфізм.
- •Реалізація класу та створення його екземпляру за допомогою об’єктно-орієнтованої мови програмування.
- •Декларування класу. Створення екземпляру класу.
- •Правила приведення типів в c#.
- •Модифікатори доступу.
- •Методи. Параметри. Перевантаження методів.
- •Члени класу. Члени екземпляру класу.
- •Статичні поля. Статичні методи. Інші статичні члени класу.
- •Константи. Властивості.
- •Конструктори об’єктів. Статичні конструктори. Фіналізатори.
- •Порівняння конструкторів і фіналізаторів.
- •Модифікатор readonly. Ключове слово this.
- •Індексатори. Часткові класи.
- •Модифікатори доступу на аксцессорах.
- •Наслідування класів.
- •Доступ до наслідуваних методів. Приховування методів базового класу.
- •Доступ до базового класу. Використання посилань на базовий клас.
- •Віртуальні методи. Виконання конструктора.
- •Модифікатори доступу до класу. Наслідування між збірками.
- •Модифікатори доступу до членів класу.
- •Абстрактні члени класу. Абстрактні класи.
- •Запечатані класи. Зовнішні методи.
- •Виключні ситуації.
- •Інтерфейси.
- •Делегати.
- •Перевантаження операцій.
- •Основні принципи побудови графічного інтерфейсу користувача та програм, які керуються подіями.
- •Створення форм та управління ними. Модальні і немодальні форми.
- •Основні елементи графічного інтерфейсу користувача.
- •Клас Application.
- •Основні властивості і події елементів інтерфейсу.
- •Основні властивості і події форми.
- •Елемент управління Button. Елемент управління MenuStrip. Елемент управління ConextMenuStrip.
- •Елемент управління CheckBox. Елемент управління RadioButton. Елемент управління
- •Елемент управління ListBox. Елемент управління ComboBox. Елемент управління Label.
- •Елемент управління TextBox. Елемент управління ToolStrip. Настроювання переходів по табуляції.
- •Елемент управління MonthCalendar. Елемент управління DateTimePicker.
- •Елемент управління ToolTip. Елемент управління TabControl. Елемент управління TrackBar.
- •Елемент управління Panel. Елемент управління SplitContainer. Елементи управління UpDown.
- •Клас Graphics. Сеанси Paint. Доступ до об’єкта Graphics поза обробником Paint.
- •Основи реляційної субд. Основні принципи роботи з субд.
- •Введення до технології ado.Net. Створення найпростішої програми для роботи з субд.
- •Послідовність команд для читання даних з бд.
Елемент управління Panel. Елемент управління SplitContainer. Елементи управління UpDown.
Елемент управління Panel
Використовується для логічного групування елементів управління
За рахунок зміни властивості Visible дозволяє приховувати групи елементів управління, розміщених на панелі
Елемент управління SplitContainer
Представляє собою дві панелі, для яких можна змінювати область, що вони займають під час виконання програми
Елементи управління UpDown
Для вибору серед набору значень чи введення чисел шляхом перебору значень є два елементи управління : DomainUpDown та NumericUpDown
Для NumericUpDown властивість Value містить поточне значення
Для DomainUpDown можливі варіанти необхідно задати до властивості Items, поточне значення доступне через SelectedItem чи SelectedIndex
Клас 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();
}
Введення до графічного програмування з використанням 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");
}
}
}
