Розробка уроку

Тема: поняття елемента управління; події, пов’язані з елементами управління, обробники цих подій мовою C#.

Мета:

По завершенню вивчення учень

має уявлення про:
описує поняття: подає приклади: називає:

Обладнання: ПК з встановленими ОС і MonoDevelop.

Структура уроку:

  1. Організаційний момент.
  2. Актуалізація опорних знань.
  3. Вивчення нового матеріалу.
  4. Інструктаж з ТБ.
  5. Виробленняпрактичних навичок.
  6. Підбиття підсумків уроку.
  7. Домашнє завдання.

Хід уроку

1. Організаційний момент
Вітання з класом. Перевірка присутності і готовності учнів до уроку. Перевірка виконання домашнього завдання.

2. Актуалізація опорних знань
Означити (описати) поняття, виділені жирним шрифтом, і порівняти з поданим текстом.

Об'єкт (від латинською objectum — предмет, явище) — це те, на що спрямована певна діяльність (на противагу суб'єкту, який здійснює таку діяльність).

Подіязміна властивостей об'єкта, взаємодія між об'єктами, утворення нового об'єкта або знищення наявного об'єкта.

Середовище об'єктасередовище, у якому перебуває об'єкт, незалежно від того, які дії ним чи над ним (зрім знищення об'єкта) виконано.

Застосунок (застосовна програма, прикладна програма, англійською application, application software) — комп'ютерна програма, що дає змогу вирішувати конкретні прикладні задачі користувача. Це поняття використовують, щоб підкреслити відмінність від операційної системи, драйверів, бібліотек, системних утиліт тощо (які забезпечують функціонування власне комп'ютерної системи та підтримують її працездатність) та засобів і середовищ розробки (про всі ці поняття йтиметься далі).

Об'єктно-орієнтоване програмуванняце метод програмування, який розглядає програму як множину «об'єктів», що взаємодіють між собою. Інакше кажучи, у такому підході:

Фундаментальні поняття об'єктно-орієнтованого програмування:

3. Вивчення нового матеріалу

Елемент керування це графічний об'єкт для показу або введення даних, виконання дій або полегшення читання даних.

До елементів керування належать текстові поля, списки, перемикачі, кнопки тощо. Вони дають користувачеві змогу запускати відповідні частини програми.

Контейнерклас для опису структури даних — колекції інших об'єктів. Інакше кажучи, контейнери застосовують для зберігання об'єктів у вигляді організованої структури на основі конкретних правил збереження і доступу до елементів.

Усі керування потрібно розташовувати у контейнерах. Наприклад, HBox, VBox, Table. Кількість комірок у цих контейнерах можна змінювати. Контейнери можна вкладати один в інший (наприклад, HBox у VBox і навпаки) для створення складних схем розташування.

Наявні вбудовані контейнери й елементи керування (віджети) дизайнера Stetic для наочного програмування за допомогою технології Gtk# у середовищі MonoDevelop подано на панелі Eлементи керування, яку можна викликати вказівкою меню (див. далі).

Елементи керування можуть бути зв'язані, вільні або обчислювані.

Зв'язаний елемент керування запозичує і відображає змінювані дані з поля таблиці (бази даних) або запиту: текст, дату, число, значення «Так / Ні», зображення або діаграми тощо.

Вільний елемент керування не має змінюваного джерела даних. Наприклад, надпис з назвою форми — це вільний елемент керування.

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

Обробник подійце частина програми, що виконує певні дії у відповідь на дії користувача.

4. Інструктаж з ТБ
5. Вироблення практичних навичок

Створення і розташування елементів керування засобами наочного програ­мування розглянемо у процесі виконання такого навчального завдання.

Завдання 1. Створити застосунок для обчислення результату арифметичної дії з двома десятковими дробами. Передбачити можливість введення значень дробів і позначення дії.

Вказівки до виконання.

  1. Створити проект Gtk#. У середовищі MonoDevelop:
    • або натиснути клавіші Ctrl + Shift + N
    • або використати вказівку меню File / New Solution...

    У вікні діалогу Новий проект вибрати .NET / Проект Gtk# 2.0 і натиснути кнопку Далі

    У вікні діалогу Новий проект вказати назву (для поданих далі малюнків s), розташування проекту і натиснути кнопку Створити

  2. Відкрити дизайнер вікон. У вікні програми MonoDevelop у вкладенні Рішення викликати контекстне меню MainWindow.cs натисканням правої кнопки миші й вибрати Відкрити за допомогою / Дизайне вікон

    Пересвідчитися у появі у нижній частині вікна двох кнопок перемикання між режимами редагування коду (Джерело) і наочного редагування (Дизайнер). В останньому режимі помітити у вікні програми прямокутник сірого кольору — форму для розташування об'єктів.



    Розмір форми можна змінити перетягуванням маркера межі.

  3. Викликати панель панель Eлементи керування. У вікні програми MonoDevelop у режимі наочного редагування Дизайнер:

    • або клацнути клавішею миші на написі Eлементи керування з лівого краю вікна — див. малюнок вище;

    • aбо натиснути клавіші Alt + Shift + B;

    • або використати вказвку меню Перегляд / Панелі / Елементи керування — див. малюнок нижче.

    На панелі Eлементи керування, що з'явиться у лівій частні вікна MonoDevelop, побачити переліки нявних контейнерів і власне елементів керування (віджетів).


  4. Встановити контейнер Table розміру 2 × 6:
    • перетягнути елемент Table з панелі Eлементи керування на форму;
    • в контексному меню довільної комірки вибрати table1 / Delete Column;


    • тричі в контексному меню довільної комірки вибрати table1 / Insert Row After або table1 / Insert Row Before;


    • пересвідчитися, що результат збігається з очікуваним.

  5. Встановити у створений контейнер Table елементи керування, перетяг­нувши з панелі Eлементи керування:

    • 4 мітки Label у верхні клітини лівого стовпчика;
    • 4 поля введення Entry у верхні клітини правого стовпчика;
    • 3 кнопки Button у клітини двох нижніх рядків.

    Прибрати відображення панелі Eлементи керування. Наприклад, натиснувши кнопку із зображенням повернутого хрестика у верхньому правому куті панелі.

    Вибір об'єкта можна здійснити або клацанням лівої кнопки миші на зображенні цього об'єкта, або з випадного списку, розташованого над зображенням панелі з розташованими на ній об'єктами.

  6. Змінити написи на мітках і кнопках таким чином.



    Відобразити панель Властивості:
    • або клацнути клавішею миші на написі Властивості з лівого краю вікна;
    • aбо натиснути клавіші Alt + Shift + B;
    • або використати вказвку меню Перегляд / Панелі / Властивості.

    Виділити об'єкт — на поданому нижче малюнку label1 — і на вкладенні Властивості в розділі Label Properties (властивості кнопки) натиснути на кнопку із зображенням трикрапки у рядку властивості LabelProp.

    У вікні діалогу Текст у полі введення замінити label1 на Перше число і натиснути кнопку Гаразд,

    щоб отримати такий вигляд вікна середовища програмування.

    Виконати аналогічні дії щодо решти елементів керування. Для кнопок GtkButton змінювати властивість Label у розділі Buttun Properties.

  7. Змінити назву вікна застосунку — властивість Title форми MainWindow — на Калькулятор.

  8. Створити проект вмісту обробників подій натискання кнопок у середовищі довільного текстового редактора, викорис­товуючи конкурс ідей. Порівняти з очікуваним для кнопок:

    • з написом Вийти — лише вказівка припинення виконання програми:

      Environment.Exit(0);

    • з написом Обчислити — вказівки виконання армфметичної дії і запис результату у найнижче поле при коректних вхідних даних у перших (згори) трьох полях введення:

      try
        { float a = float.Parse(entry1.Text);
          float b = float.Parse(entry3.Text);
          switch (entry2.Text)
          { case "+": entry4.Text = Convert.ToString(a + b); break;
            case "-": entry4.Text = Convert.ToString(a - b); break;
            case "*": entry4.Text = Convert.ToString(a * b); break;
            case ":": entry4.Text = Convert.ToString(a / b); break;
            default: System.Windows.Forms.MessageBox.Show("Хибний знак дії"); break;
          };
        }
        catch (Exception ex) { System.Windows.Forms.MessageBox.Show("Хибний запис числа"); }
    • з написом Очистити — надання значення порожнього рядка властивості Text усіх полів введення:

      entry1.Text="";
      entry2.Text="";
      entry3.Text="";
      entry4.Text="";
  9. Створити обробники подій натискання кнопок. Виділити кнопку з написом Вийти й на панелі Властивості перейти на вкладення Сигнали. У групі Button Signals двічі клацнути на назві події Clicked.

    Піся перемикання на режим редагування коду форми MainWindow.cs побачити таке.

    protected void OnButton1Clicked(object sender, EventArgs e)
    {
    }

    у вікні середовища програмування.

    При попередніх версіях MonoDevelop усередині фігурних можуть бути деякі вказівки, які потрібно видалити.

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

    Виконати такі самі дії для двох інших кнопок.

  10. Додати посилання на пакунок System.Windows.Forms для виведення повідом­лень. Використати вказівку меню Проект / Редагування посилання...

    У вікні діалогу Редагування посилання на вкладенні Всі після прокручування переліку Збірка виставити мітку в рядку System.Windows.Forms і натиснути кнопку Гаразд.

  11. Запустити проект на виконання:

    • або натиснути клавішу F5;
    • або використати вказівку меню Start Debugging

    і перевірити усі можливі способи опрацювання вхідних даних.

















  12. Зберегти всі файли проекту:
    • або натиснути клавіші Ctrl + Shift + S;
    • або використати вказівку меню Зберегти все.

    Скопіювати проект у вказану вчителем теку.

  13. Повідомити вчителя про виконання завдання.

6. Підбиття підсумків уроку
Виставлення оцінок.

7. Домашнє завдання
Повторити матеріал уроку. У створеному у класі проекті замінити напис Дія і відповідне поле на 4 кнопки для виконання відповідних арифметичних дій. Вилучити кнопку з написом Обчислити.


Текст упорядкував Олександр Рудик.