Пример первой учебной программы

Рассмотреть пример использования формы для создания приложения, работающего в системе Windows. В качестве первого примера выбрана известная задача вычисления периметра треугольника.

Задача 1.1 В режиме диалога необходимо задать стороны треугольника и вычислить его периметр. После ввода значений сторон треугольника выполнять следующие проверки: все стороны треугольника должны быть больше нуля и сумма любых двух сторон больше третьей. Работу программы сопровождать необходимыми комментариями.

На этапе визуального программирования мы будем использовать три стандартных элемента управления из окна Toolbox: статический текст или метка (Labe1), поле ввода или вывода текста – окно редактирования (TextBox ) и командную кнопку (Button):

– статический текст;

– поле ввода или вывода текста;

– командная кнопка.

Метки нужны для размещения поясняющих надписей – четыре метки.

Три поля ввода, одно поле вывода результата и одна кнопка управления.

Весь процесс визуального программирования заключался в перетаскивании необходимых элементов управления из окна Toolbox на форму, и размещении их в определённом порядке. Если это требуется, то с помощью мыши можно отрегулировать размеры и расположение элементов управления, добавленных на форму, а также размеры самой формы.

Обычно окно Toolbox находится в «свернутом» состоянии. Чтобы его «развернуть» необходимо левой клавишей мыши кликнуть на панель Toolbox, раскрыв ее, и закрепить в определённом месте экрана с помощью элемента (кликнуть на него). По окончании работы с окном Toolbox его можно «свернуть» кликнув на элементе .

В процессе визуального программирования необходимо изменять некоторые свойства элементов управления, например, у меток и кнопки было изменено свойство Text в соответствии с рисунком 1.3. Для этого необходимо пользоваться окном Properties, которое изображено на рисунке 1.4.

Рисунок 1.3 Окна программы «Треугольник»

Рисунок 1.4 – Окно Properties для элемента button1

Отличие поля результата от полей ввода в том, что в нем установлено свойство Multiline = true.

Во всех элементах управления использовалось поле Text.

Для получения «пустого» метода – обработчика сообщения о нажатии на кнопку «Ввод» достаточно на этапе визуального программирования дважды кликнуть на эту кнопку. В пустую заготовку обработчика сообщения

private void button1_Click(object sender, EventArgs e)

включим код ввода в режиме диалога значений сторон треугольника и необходимые проверки на их соответствие треугольнику.

Исходный код файла Program.cs:

using System;

using System.Collections.Generic;

using System.Linq;

using System.Windows.Forms;

namespace WindowsFormsApplication1

{

static class Program

{

/// <summary>

/// The main entry point for the application.

/// </summary>

[STAThread]

static void Main()

{

Application.EnableVisualStyles();

Application.SetCompatibleTextRenderingDefault(false);

Application.Run(new Form1());

}

}

}

Исходный код файла 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.Windows.Forms;

namespace WindowsFormsApplication1

{

public partial class Form1: Form

{

public Form1()

{

InitializeComponent();

}

private void button1_Click(object sender, EventArgs e)

{

int a,b,c,p;

a = Convert.ToInt32(textBox1.Text);

b = Convert.ToInt32(textBox2.Text);

c = Convert.ToInt32(textBox3.Text);

p = a + b + c;

if (a > 0 && b > 0 && c > 0)

if (a + b > c && a + c > b && b + c > a)

textBox4.Text = "Периметр треугольника = " + p.ToString();

else

{

textBox4.Text = "Одна из сторон треугольника больше суммы двух других Повторите ввод ";

}

else

{

textBox4.Text = "Одна из сторон треугольника больше 0! Повторите ввод ";

}

}

}

}

Среда автоматически формирует богатый список пространств имен. Рассмотрим некоторые из них.

Пространство имен System содержит определение фундаментальных и базовых классов, определяющих типы данных, события, обработчики событий и другие, необходимые в каждом приложении компоненты.

В пространстве имен System.Collections определены классы, реализующие функциональность таких контейнеров, как массивы, списки, словари, хэши и т.п.

Классы пространства System.ComponentModel используются для реализации необходимого поведения компонентов и элементов управления приложения на этапе его разработки и выполнения.

Класс System.Data необходим приложениям, работающим с базами данных посредством интерфейса ADO.NET. Этот интерфейс вы будете рассматривать при изучении баз данных.

Пространство имен System.Drawing необходимо для доступа к интерфейсу графических устройств (Graphics Device Interface, GDI), а точнее, к его расширенной версии GDI +. Классы, определенные в этом пространстве имен, необходимы для рисования в окнах приложений текста, линий, двухмерных фигур, изображений и других графических объектов.

Пространство System.Linq содержит классы, задающие типы, интерфейсы, стандартные операторы запроса.

Пространство имен System.Windows.Forms — в нем определены классы, реализующие поведение оконных форм, составляющих базу оконных приложений Microsoft windows на платформе Microsoft.NETFrameworks.

Реально программе нужны два пространства имен – System и System.Windows.Forms, все остальные пространства имен формируются «на вырост».

После отладки программы все файлы необходимо записать (в меню выбрать действие File->Save All).

Визуальная среда программирования даже для небольшой программы создает более 10 файлов и вложенных папок, пояснение которых уводит читателя в такие дебри работы среды, что ни один из известных авторов книг по программированию на языке C# не отважился дать подробных пояснений, какие файлы и зачем создаются в папках разрабатываемого проекта.

Мы не будем отходить от традиций, отметив только что в папке 1_1_treygolnik, созданной на рабочем столе для первой программы, находится папка WindowsFormsAplication1, в которой еще одна папка с именем WindowsFormsAplication1 и файл проекта программы, вызываемый для редактирования WindowsFormsAplication1.csproj. В очередной папке WindowsFormsAplication1 (как в матрешке) находятся еще три папки bin, obj, Properties и несколько файлов, в том числе файлы с кодом программы – Program.cs и кодом формы – Form1.cs. Здесь же находится ресурсный файл формы Form1, в котором сохраняется внешний вид формы, и файл Form1.Designer.cs, в котором запоминаются значения «свойств» формы и всех элементов управления, размещенных на форме.

Реально для работы со средой разработки Visual Studio.Netнам пока нужен файл кода формы Form1.cs.

Рекомендую, на первых этапах освоения программирования, не «вламываться» в свойства и названия остальных файлов, а ограничится работой с текстом только файла Form1.cs.

Вопросы для самопроверки

1 Понятие события в работе компьютера?

2 Как система Windows «различает» события?

3 Что делает система Windows, получив информацию о появлении события?

4 Понятие драйвера.

5 Понятие сообщения.

6 Что содержит сообщение?

7 Куда поступают сообщения, получаемые системой Windows от драйверов?

8 Зачем в каждом приложении имеется цикл обработки сообщений поступающих от Windows?

9 Какой метод приложения реализует цикл обработки сообщений поступающих от Windows?

10 Что определяет класс Form?



Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: