Об’єкт Текстове поле (TextBox)

Властивість

Пояснення

Text

Текст в полі

Size

    -  Width

    -  Height

Розмір компонента (ширина; висота)

BackColor

Колір фону поля

BackgroundImage

Фоновий малюнок поля

ReadOnly

       - True – поле доступне лише для читання;

       -  False – текстове поле доступне для внесення змін

Font

Параметри шрифту напису (гарнітура шрифту, накреслення, розмір)

ForeColor

Колір тексту

Visible

Видимість:

       -   True – компонент видимий;

       -   False – компонент невидимий

TextAlign

Вирівнювання тексту в компоненті.

     Домовимося в текстове поле записувати за замовчуванням число 0. Окрім текстового поля вікно програми повинно містити кнопку, яка запускає обчислювальний процес, а також, написи для виведення відповідей. Перейдемо у конструктор форм і створимо інтерфейс майбутньої програми згідно зразка (рис. 4.1).

рис4.1
Рис. 4.1

     Тепер потрібно написати обробник події “натиснута кнопка”. Для цього знайдемо в списку подій об’єкта кнопки подію Click та виконаємо подвійний клік напроти неї. Ми перейшли в програмний код із заготовленим шаблоном обробника події button1_Click. Цього самого можна досягти, виконавши подвійний клік на кнопці в конструкторі форм.

      Розпочнемо реалізацію першого етапу — зчитування вхідних даних. Оголосимо змінні, яка знадобляться в даній програмі:

byte Side;

int p, s;

     Тепер потрібно зчитати число з текстового поля textBox1 і присвоїти це число змінній Side. Для цього потрібно записати такий рядок:

Side = byte.Parse(textBox1.Text);

Даний рядок виконується справа наліво в такий послідовності:

  •      зчитується текст з поля textBox1;
  •      зчитаний текст перетворюється в число типу byte;
  •      отримане число присвоюється змінній Side.

     Другий етап – проведення обчислень – реалізується двома наступними рядками:

p = 4 * Side;

s = Side * Side;

      Третій етап – Виведення результатів на екран. В елемент Напис можна виводити лише дані текстового типу. Тому, при потребі вивести в Напис числове значення, його потрібно попередньо перетворити в текст:

label1.Text = p.ToString();

label2.Text = s.ToString();

      Виконавши всі три етапи отримаємо метод button1_Click – обробник події “натиснута кнопка”:

		private void button1_Click(object sender, EventArgs e)
		{
			byte Side; 
			int p, s; 
			Side = byte.Parse(textBox1.Text);
			p = 4 * Side;
			s = Side * Side;
			label1.Text = p.ToString();
			label2.Text = s.ToString();
		}

   Оголошення змінних зручно поєднувати з їх ініціалізацією. Тоді програмний код буде мати такий вигляд:

		private void button1_Click(object sender, EventArgs e)
		{
			byte Side = byte.Parse(textBox1.Text);
			int p = 4 * Side;
			int s = Side * Side;
			label1.Text = p.ToString();
			label2.Text = s.ToString();
		}

   Запустимо та протестуємо програму (рис. 4.2):

   В інтерфейсі створеної програми є три недоліки: після запуску у вікні програми відображаються написи label1 та label2; не зрозуміло, що потрібно вводити в текстове поле; отримані результати відображаються без пояснень: що означають числа 28 і 49?

рис4.2
Рис. 4.2

Перейдемо в конструктор форм та змінимо властивість Text елементів label1 та label2 на порожній рядок – після запуску їх не буде видно.

Додамо і розташуємо поруч із текстовим полем напис з текстом «Сторона:».

Для пояснення відповідей додамо на форму ще два написи з текстом «Периметр = » та «Площа = » відповідно.

   Провівши дані зміни отримаємо завершений проект (рис. 4.3):

рис4.3
Рис. 4.3
рис4.4
Рис. 4.4

   Розглянемо ще один приклад (задача №2): в рішення lesson_4 додамо проект task_2 для розв’язання задачі: відомо два цілих числа, які за модулем не перевищують 1000. Потрібно написати програму, яка знаходить їх середнє арифметичне.

   Інтерфейс створеної програми зображено на рис. 4.4

Програмний код для розв’язання даної задачі наведено нижче:

		private void button1_Click(object sender, EventArgs e)
		{
			int a = int.Parse(textBox1.Text);
			int b = int.Parse(textBox2.Text);
			double x = (a + b) / 2.0;
			label3.Text = x.ToString();
		}
Остання зміна: Monday 26 December 2016 11:56 PM