C#. Windows Forms. Практика. Приклад, що демонструє створення п’ятикутної форми




Приклад, що демонструє створення п’ятикутної форми. Додаток Windows Forms

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


Зміст


Пошук на інших ресурсах:

Умова задачі

Розробити додаток тппу Windows Forms, в якому форма є п’ятикутною. На формі розмістити кнопку закриття форми. Рекомендовані координати в пікселях (x; y) п’ятикутника форми: (0; 150), (50; 300), (420; 300), (650; 150), (400; 0).

 

Інструкція

1. Створити новий проект Windows Forms

Більш детально процес створення нової форми описується тут. Після створення форма буде мати ім’я Form1 за замовчуванням.

 

2. Налаштування форми Form1

У вікні Properties налаштувати наступні властивості форми Form1:

  • властивість FormBorderStyle = None;
  • властивість BackColor = Blue (рисунок 1). Щоб знайти колір Blue потрібно перейти на вкладку Web.

C#. Застосунок Windows Forms. Задавання властивості BackColor у вікні Properties

Рисунок 1. Задавання властивості BackColor

 

3. Розміщення та налаштування кнопки Close на формі

З допомогою панелі інструментів Toolbox розмістити на формі кнопку. У результаті система створить компонент кнопки з іменем button1.

Для кнопки button1 задати наступні властивості:

  • Text = “Close”;
  • Location = (150, 200).

 

4. Програмування обробника події кліку на кнопці button1

Для програмування події потрібно виконати такі дії (рисунок 2):

  • виділити кнопку button1 (Close)
  • у вікні Properties перейти на вкладку Events;
  • в переліку обробників подій двічі клікнути в області події Click. У результаті відкриється код обробника цієї події. Інший спосіб виклику код обробника події Click – подвійним клік мишкою на кнопці, що розміщена на формі.

C#. Windows Forms. Подія Click компонента button1 у вікні Properties

Рисунок 2. Подія Click компонента button1 у вікні Properties

В текст обробника події потрібно додати наступний код

this.Close();

Вищенаведений рядок з допомогою this звертається до екземпляру форми Form1. Метод Close() форми закриває форму, таким чином відбувається вихід з програми.

 

5. Програмування обробника події Form_Load()

Згідно з умовою задачі потрібно, щоб після запуску форма відобразилась у вигляді п’ятикутника. Для цього потрібно запрограмувати обробник події Load форми Form1. Подія Load викликається на початку виконання програми, коли форма з’являється на екрані (завантажується).

Для виклику обробника події Load потрібно виконати такі дії (рисунок 3):

  • з допомогою мишки активувати форму Form1;
  • у вікні Properties у вкладці подій Events зробити подвійний клік мишкою в полі події Load. У результаті відобразиться обробник події Form1_Load().

C#. Windows Forms. Подія Load форми Form1

Рисунок 3. Подія Load форми Form1

В обробнику події Load() потрібно набрати наступний код

// Обробник події Form1_Load
private void Form1_Load(object sender, EventArgs e)
{
  // 1. Оголосити екземпляр типу GraphicsPath - клас,
  // що представляє послідовність зєднаних ліній і кривих.
  System.Drawing.Drawing2D.GraphicsPath gp = new
      System.Drawing.Drawing2D.GraphicsPath();

  // 2. Створити масив точок, які відповідають координатам
  //    п'ятикутника, що утворює форму.
  // 2.1. Оголосити екземпляр типу масив точок Point[].
  //         Point - це клас, що описує точку на екрані.
  Point[] mp = new Point[5];

  // 2.2. Виділити пам'ять для кожної точки та заповнити
  //     її значеннями.
  mp[0] = new Point(0, 150);
  mp[1] = new Point(50, 300);
  mp[2] = new Point(420, 300);
  mp[3] = new Point(650, 150);
  mp[4] = new Point(400, 0);

  // 3. Додати масив точок Point[] в екземпляр gp
  gp.AddPolygon(mp);

  // 4. Створити область (Region) на основі послідовності точок gp
  Region rg = new Region(gp);

  // 5. Встановити область форми this.Region
  //    у нове значення rg
  this.Region = rg;
}

 

6. Запуск програми. Результати

Результат виконання програми зображено на рисунку 4.

C#. Windows Forms застосунок. П’ятикутна форма

Рисунок 4. П’ятикутна форма

 


Зв’язані теми