10. Чтобы пользователю было понятно, что означает каждое окно, около каждого окна вводим надпись Label. Например, первую надпись label1 мы можем изменить или сразу с клавиатуры, или в панели Properties с заголовком label1 в свойстве Text вместо label1 записываем (или вставляем из буфера обмена: правый щелчок, Paste), например, число 1 (number 1).
11. Аналогично записываем текст выше второго и третьего окон, а между первым и вторым окнами – знак суммы “+».
12. Чтобы получить результат сложения после щелчка кнопки со знаком равенства “=», вводим эту кнопку на форму по обычной схеме: на панели Toolbox выбираем Button; щёлкаем на форме; надпись button1 мы можем изменить или сразу с клавиатуры, или в панели Properties в свойстве Text вместо button1 записываем (или вставляем из буфера обмена: правый щелчок, Paste), например, знак равенства “=”; щёлкаем по выделенному слову Text (или нажимаем клавишу Enter).
В классе Form1 на вкладке Class View появились эти элементы управления. Форма приняла окончательный внешний вид (рис. 2.6).
Отметим, что на приведённых рисунках видны отличия новой платформы Visual Studio от предыдущих версий этой же платформы, которые подробно описаны в наших предыдущих книгах из списка литературы и с сайта.
Важно отметить, что все программы, которые далее мы будем разрабатывать, применимы для всех версий и редакций среды разработки (платформы) Visual Studio.
Рис. 2.3. Панель инструментов Toolbox. Рис. 2.4. Панели Solution Explorer и Properties.
Рис. 2.5. В панели Font устанавливаем шрифт.
Рис. 2.6. Форма после графического (визуального) проектирования.
2.4. Код программы
Теперь в файл Form1.cs нам необходимо написать нашу часть кода для сложения двух чисел на форме. Для связывания с кодом элементов управления и компонентов используются методы, которые называются обработчиками событий и вызываются после двойного щелчка по имени соответствующего метода на вкладке Events (со значком в виде молнии) на панели Properties (рис. 2.4). Например, обработчик события в виде щелчка кнопки “=” (рис. 2.6) вызывается после двойного щелчка по имени метода Click на вкладке Events панели Properties. Но так как щелчок кнопки является наиболее распространённым событием, то он задан как событие по умолчанию и поэтому может быть также вызван двойным щелчком кнопки в режиме проектирования. Выполняем это. Появляется файл Form1.cs со следующим автоматически сгенерированным кодом:
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System. Data;
using System. Drawing;
using System.Linq;
using System. Text;
using System.Threading. Tasks;
using System.Windows.Forms;
namespace Calculator
{
public partial class Form1: Form
{
public Form1 ()
{
InitializeComponent ();
}
}
}
И в этот файл Form1.cs уже автоматически добавлен следующий шаблон метода для обработки события в виде щелчка кнопки:
private void button1_Click (object sender, EventArgs e)
{
}
Так как выше в коде уже подключено корневое пространство имён (using System;), то имя System (и другие подключённые имена) далее в нашем коде мы можем не записывать.
В данный шаблон можно записать много вариантов кода для выполнения простых арифметических операций.
Чтобы лучше понять синтаксис визуального (с использованием элементов управления, например, TextBox) программирования, приведём четыре (по мере усложнения) варианта кода для сложения двух чисел.
Первый вариант – с тремя переменными:
Листинг 2.1. Наш основной код с тремя переменными.
double a, b, c;
a = Convert.ToDouble (textBox1.Text);
b = Convert.ToDouble (textBox2.Text);
c = a + b;
textBox3.Text = c.ToString ();
Второй вариант – с двумя переменными:
double a, b;
a = Convert.ToDouble (textBox1.Text);
b = Convert.ToDouble (textBox2.Text);
textBox3.Text = (a + b).ToString ();
Третий вариант – с одной переменной:
double a;
a = Convert.ToDouble (textBox1.Text);
textBox3.Text = (a +
Convert.ToDouble(textBox2.Text)).ToString ();
Четвёртый вариант – без использования переменных:
textBox3.Text = (Convert.ToDouble (textBox1.Text) +
Convert.ToDouble(textBox2.Text)).ToString ();
По этой методике можно записывать код для выполнения различных математических операций. Подробные объяснения этой программы (какие пространства имён, классы, методы и свойства мы использовали) даны в наших книгах [1—3].
После построения программы (щёлкаем Build, Build Selection или значок с изображением вертикальных стрелок) мы увидим в выходном окне Output сообщение компилятора C# или об успешном построении, или об ошибке (если при вводе нашего кода был введен не тот символ) с указанием типа ошибки и номера строки кода с ошибкой. Ошибку стандартно исправляем, снова строим программу, и так до тех пор, пока не получим сообщение компилятора без ошибок и предупреждений.
Если ошибок нет, то в меню Debug выбираем Start Without Debugging (или щёлкаем по значку с соответствующим изображением).
На рабочем столе поверх формы в режиме проектирования (рис. 2.6) появляется форма в режиме выполнения (рис. 2.7), которую можно захватить мышью за верхнюю полоску и передвинуть в удобное место.