Приклад програмування події натиску на кнопці в C#. Розробка програми визначення площі поверхні кулі
Зміст
- Умова задачі
- Виконання
- Зв’язані теми
Пошук на інших ресурсах:
Умова задачі
Розробити програму, яка за введеним радіусом R знаходить площу поверхні кулі.
Площа поверхні кулі обчислюється за формулою
У програмі використати такі компоненти:
- Label – для виведення повідомлень;
- Button – кнопка початку розрахунку;
- TextBox – поле вводу, призначене для введення значення R.
⇑
Виконання
1. Створення проекту
Завантажити систему візуальної розробки додатків Microsoft Visual Studio. Створити проект за шаблоном Windows Forms Application. Зберегти файли проекту в деякій папці.
Більш детальний приклад створення проекту та збереження файлів проекту описано в темі:
⇑
2. Розміщення елементів управління Label, Button і TextBox на формі
З вкладки “Common Controls” виносимо на форму чотири елементи управління (рис. 1):
- два елементи управління типу Label (мітка);
- елемент управління типу Button (кнопка);
- елемент управління типу TextBox (рядок вводу).
Рис. 1. Елементи управління Label, Button, TextBox
Автоматично створюються чотири об’єкти з іменами label1, label2, button1 і textBox1. За цими іменами пізніше можна буде доступатись до властивостей об’єктів.
Форма додатку матиме приблизно такий вигляд (рис. 2).
Рис. 2. Форма додатку після винесення label1, label2, button1 і textBox1
⇑
3. Налаштування елементів управління типу Label
Виділяємо елемент управління (об’єкт) label1. В палітрі Toolbox змінюємо властивість Text, набираємо “R = “. Так само змінюємо властивість Text для елемента управління label2 (рис. 3).
Рис. 3. Зміна властивості Text в label1
⇑
4. Елемент управління Button
Аналогічно до label1 виділяємо елемент управління (об’єкт) button1. І у властивості Text вводимо рядок “Обчислити“.
⇑
5. Проектування форми
Виділяємо форму. Змінюємо назву форми. У властивості Text форми вводимо текст “Площа поверхні кулі“.
Після проектування форма матиме вигляд як зображено на рисунку 4.
Рис. 4. Вигляд форми після проектування
⇑
6. Програмування події кліку на кнопці “Обчислити“
6.1. Виклик програмного коду
У програмі потрібно обробити подію кліку мишкою (або клавішою “пробіл”) на кнопці “Обчислити“.
Після натиску на кнопці “Обчислити” формується фрагмент коду, який буде оброблятись нашою програмою. Під час обробки спочатку визначається значення введеного радіусу, потім відбувається розрахунок згідно з формулою і вивід результату.
Щоб викликати фрагмент коду обробки події на кнопці button1 потрібно виконати такі дії:
- виділити кнопку button1 (рис. 5 – 1);
- перейти у вкладку Events (події) у вікні властивостей (рис. 5 – 2);
- зробити подвійний клік “мишкою” напроти події “Click” (рис. 5 – 3).
Рис. 5. Послідовність виклику фрагменту коду обробки події Click
У результаті відкриється вкладка програмного коду, що розміщується у файлі “Form1.cs” (рис. 6).
Рис. 6. Метод обробки події кліку на кнопці button1
Лістинг програмного коду наступний:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
namespace WindowsFormsApplication1
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private void button1_Click(object sender, EventArgs e)
{
}
}
}
⇑
6.2. Набір програмного коду обробки події
У методі button1_Click вписуємо код обробки події. Лістинг методу має вигляд:
private void button1_Click(object sender, EventArgs e)
{
const double Pi = 3.1415;
double R,S;
R = Double.Parse(textBox1.Text);
S = 4 * Pi * R * R;
label2.Text = "Площа поверхні кулі = " + S.ToString();
}
У коді описуються дві змінні R та S типу double. Також описується константа Pi.
Для перетворення з текстового типу string в тип double використовується метод Parse. Таким чином заповнюється значення змінної R.
R = Double.Parse(textBox1.Text.ToString());
Подібним чином можна перетворювати дані й інших типів. Наприклад для типу int можна написати:
int d;
d = Int32.Parse("100"); // d = 100
Результат обчислення площі поверхні кулі виводиться у label2.Text. Перетворення у тип string виконується з допомогою методу ToString().
⇑
6.3. Корегування програмного коду
У коді, описаному в пункті 6.2 немає захисту від некоректного вводу значення R. Тому метод button1_Click треба переписати наступним чином:
private void button1_Click(object sender, EventArgs e)
{
try
{
const double Pi = 3.1415;
double R, S;
R = Double.Parse(textBox1.Text);
S = 4 * Pi * R * R;
label2.Text = "Площа поверхні кулі = " + S.ToString();
}
catch (FormatException ex)
{
label2.Text = "Помилка - " +
ex.Message;
}
}
Блок
try
{
...
}
catch (...)
{
...
}
дозволяє здійснити перехоплення програмою критичної ситуації, яка може виникнути у випадку вводу некоректного значення у полі textBox1 (наприклад “3sdd5“).
У цьому випадку у властивості ex.Message буде виведено повідомлення:
Помилка – Input string was not in a correct format
⇑
7. Запуск програми на виконання
Після цього можна запустити програму на виконання і дослідити її роботу при будь-яких значеннях R.
Зв’язані теми
- Приклад програмування події в Delphi
- Приклад програмування події в C++ Builder
- Приклад створення діалогового вікна в MS Visual Studio – C++