Оцените презентацию от 1 до 5 баллов!
Тип файла:
ppt / pptx (powerpoint)
Всего слайдов:
30 слайдов
Для класса:
1,2,3,4,5,6,7,8,9,10,11
Размер файла:
196.00 kB
Просмотров:
56
Скачиваний:
0
Автор:
неизвестен
Слайды и текст к этой презентации:
№1 слайд
Содержание слайда: Програмування графічного інтерфейсу в C#
№2 слайд
Содержание слайда: Основні теми
Базові засади організації графічного інтерфейсу.
Найважливіші інтерфейсні компоненти.
Динамічне додавання компонентів.
Використання GDI+.
Діалоги.
Створення власних компонентів.
№3 слайд
Содержание слайда: Графічний інтерфейс: початок
Зручні можливості для створення в середовищі Visual Studio, але графічні програми можна писати і в режимі створення консольних застосувань, і лише засобами командного рядка.
№4 слайд
Содержание слайда: Найпростіше вікно: створення в “ручному” режимі
using System;
using System.Windows.Forms; //імпорт бібліотеки
namespace MyApp {
public class MainWindow:Form
{//підклас класу Form
public static void Main() {
Application.Run(new MainWindow()); //запуск
}
}
}
№5 слайд
Содержание слайда: Режими компіляції
Це застосування можна відкомпілювати і запустити способом, характерним для консольних застосувань, але тоді спочатку запуститься консоль, а потім відкриється вікно.
Натомість можна відкомпілювати так:
сsc /target:winexe /out:mainwindow.exe mainwindow.cs
№6 слайд
Содержание слайда: Як воно виглядає
№7 слайд
Содержание слайда: Зробимо щось цікавіше…
public class MainWindow:Form {
public MainWindow() {
//Встановлення властивостей
this.Text="Крута прога";
//Додавання компонента
this.Controls.Add(new MonthCalendar());
}
public static void Main() {
Application.Run(new MainWindow());
}
}
№8 слайд
Содержание слайда: Клас Application
Важливі методи для роботи з графічними застосуваннями.
Run(форма) – запуск Windows-застосування з головною формою, вказаною як аргумент.
Exit() – завершення застосування.
№9 слайд
Содержание слайда: Завершення застосування
Подія ApplicationExit тісно пов’язана з делегатом EventHandler.
Опис:
delegate void EventHandler (object sender,
EventArgs e);
Для інших подій використовуються подібні делегати.
№10 слайд
Содержание слайда: Приклад коду
public MainWindow() {
this.Text="Крута прога";
this.Controls.Add(new MonthCalendar());
Application.ApplicationExit+=new EventHandler(MainWindow_OnExit);
}
private void MainWindow_OnExit(object sender, EventArgs args) {
MessageBox.Show("Message","Кінець Вашому застосуванню");
}
№11 слайд
Содержание слайда: Клас Control
Клас, базовий для графічних компонент (в тому числі і для класу Form).
№12 слайд
Содержание слайда: Клас Form
Форми, які створюються для того чи іншого графічного застосування, як правило, мають бути похідними від класу Form.
Одне застосування може використовувати декілька форм.
№13 слайд
Содержание слайда: Життєвий цикл форми
Load.
Activated.
Deactivate.
Closing.
Closed.
№14 слайд
Содержание слайда: Компоненти
Основні характеристики: клас компонента, властивості, події.
Visual Studio надає зручні засоби для роботи і з властивостями, і з подіями.
Динамічне створення компонент під час виконання програми: власне додавання компонента (Controls.Add(…)), додавання обробників подій (на основі механізму обробки подій).
№15 слайд
Содержание слайда: Основні компоненти
Label.
LinkLabel – гіпертекст.
TextBox. Важливі властивості: Text, ReadOnly.
Button. Важлива подія – Click.
Вибір: CheckBox, RadioButton, ComboBox і т.п.
Меню та toolbars.
Панелі.
Діалоги.
TrackBar, UpDown і т.п.
Підказки (HelpProvider).
ErrorProvider.
№16 слайд
Содержание слайда: Приклад 1
Форма з двома текстовими полями та кнопкою. В одному полі вводиться ім’я користувача, після натискання кнопки виводиться привітання цьому користувачеві.
Подія Click.
№17 слайд
Содержание слайда: Обробка
private void button1_Click(object sender, EventArgs e)
{
tout.Text = "Hello, "+tin.Text;
}
№18 слайд
Содержание слайда: Приклад 1: продовження
Як добитися, щоб аналогічна реакція відбувалася після натискання на Enter в полі введення? Можна обробляти подію KeyPress і аналізувати код натисненої клавіші, але є більш простий спосіб – властивість AcceptButton форми.
№19 слайд
Содержание слайда: Приклад 2: годинник
Ідея – використати компонент Timer. Налаштувати його так, щоб він з певною періодичністю генерував подію Tick; а в обробнику передбачити виведення поточного часу.
№20 слайд
Содержание слайда: Код обробника
private void timer1_Tick(object sender, EventArgs e)
{
tl2.Text = DateTime.Now.ToLongTimeString();
}
№21 слайд
Содержание слайда: Приклад 3: перехоплення закриття форми; діалогове вікно
private void Form1_FormClosing(object sender, FormClosingEventArgs e)
{
if (MessageBox.Show( “Do you want to exit?", "Closing", MessageBoxButtons.YesNo) !=
DialogResult.Yes)
e.Cancel = true;
}
№22 слайд
Содержание слайда: Приклад 4: створення заготовки для текстового редактора
Компонента RichTextBox, яка дозволяє працювати з RTF-форматом.
ToolStrip.
MenuStrip.
Команда InsertStandardItems.
Програмування відповідних обробників.
№23 слайд
Содержание слайда: Основні можливості для малювання
Бібліотека GDI+.
Ключовий клас – System.Drawing.Graphics. Зокрема, для малювання потрібно отримати об’єкт цього класу.
№24 слайд
Содержание слайда: Простий приклад – малювання кіл при клацанні мишею
private void Form1_MouseClick(object sender, MouseEventArgs e)
{
Graphics g = this.CreateGraphics();
int cr = r.Next(255);
int cg = r.Next(255);
int cb = r.Next(255);
Pen p = new Pen(Color.FromArgb(cr,cg,cb),10);
g.DrawEllipse(p, e.X, e.Y, 50, 50);
}
№25 слайд
Содержание слайда: Проблема попереднього прикладу
При зміні розмірів вікна зображення затирається і не перемальовується.
№26 слайд
Содержание слайда: Деякі методи малювання
Перевизначення методу OnPaint(PaintEventArgs e).
Обробка події Paint за допомогою делегата PaintEventHandler (object sender, PaintEventArgs e).
Для примусового перемальовування – Invalidate() або Refresh().
Використання класу Image, точніше – його підкласу Bitmap (т.зв. малювання в пам’яті).
№27 слайд
Содержание слайда: Приклад коду
Image im = new Bitmap(file);
Graphics g = Graphics.FromImage(im);
//Малювання
g.DrawEllipse(new Pen(Color.Red, 20), 100, 100, 50, 50);
Font fnt = new Font("Times New Roman",12,FontStyle.Italic);
Brush brsh = Brushes.Chocolate;
g.DrawString("The image", fnt, brsh,110,10);
№28 слайд
Содержание слайда: Заповнення PictureBox
pictureBox1.Image = im;
№29 слайд
Содержание слайда: Збереження зображення на диску
im.Save(@"C:\csharp-training\im.jpg");
№30 слайд
Содержание слайда: Створення власних компонентів
C# - компонентно-орієнтована мова.
Класи, похідні від Component, UserControl або Control.
Visual Studio має досить розвинені візуальні засоби для роботи з такими компонентами.
Демонстрація.