Windows: Как создать программу

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

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

1 . Из чего состоит процесс создания программы

Изначально создание программы можно разделить на следующие этапы:

  1. Разработка алгоритма работы программы.
  2. Дизайн пользовательского интерфейса. Размеры и свойства окна программы, расположение элементов управление внутри окна (окошки, кнопочки, менюшки и другие) и так далее.
  3. Написание логики программы. Это именно та часть, которая реагирует на события от нажатия кнопок, события операционной системы и выводит результат своей работы на экран.

2 . Установка среды разработки

Так как большинство из нас не гениальные мальчики и девочки, родившиеся с клавиатурой в руках и не впитали языки программирования с молоком матери, нам понадобится программа более функциональная и наглядная чем блокнот. Эта программа называется интегрированной средой разработки (IDE - Integrated Development Eniroenment). Таких сред разработки много - это Microsoft Visual Studio, SharpDevelop, Netbeans, и другие. В данной статье мы будем писать программу под Windows, используя язык програмирования C#, поэтому остановим свой выбор на среде разработки SharpDevelop, которая является бесплатным продуктом с открытым исходным кодом. SharpDevelop содержит в себе все средства, которые нужны для написания полноценной программы: Средство визуального проектирования пользовательского интерфейса, автодополнение кода и многое другое.

Устанавливать будем последнюю версию, которая доступна для загрузки на сайте разработчика.

Lightbox

Устанавливаем программу, думаю здесь не должно возникнуть сложностей.

После установки запускаем среду разработки.

3 . Создание программы

Нажимаем кнопку New solution, или меню File - New - Solution.

В открывшемся диалоговом окне выбираем: C# - Windows Applications - Windows Application - Название програмы - Create (Создать)

В закладке Projects открываем файл MainForm.Designer, как показано на рисунке.

В закладке Tools выбираемм элемент  управления Button (Кнопка), перетаскиваем ее на форму. Теперь у yас форма содержит кнопку.

Давайте ее переименуем, и назначим ей действие - при нажатии кнопки будет закрываться программа.

Переименовуем кнопку: В окне Properties находим свойство Text, Меняем значение Button1 на Close

Назначаем обработчик события нажатия кнопки

Для этого делаем двойное нажатие на кнопке, программа автоматически создаст необходимую функцию Button1Click. Внутри этой функции пишем: this.Close();

Запускаем программу:

При нажатии кнопки Close, окно программы закроется, в след за этим завершит работу и сама программа.

Сделаем что-нибудь посложнее, чем просто вывод текста на экран

В большинстве учебников для начинающих программистов первая программа выводит простое сообщение "Hello world!". Мне кажется это немного тупо, так как для того, чтоб заинтересовать начинающего программиста, нужно показать нечто большее и полезное, нежели просто окно с текстом.

Для того чтоб оценить возможности языка программирования C# и .Net Framework, давайте в нашей программе реализуем возможность выполнения простейших арифметических операций. Мне кажется это будет гораздо полезней.

Итак, давайте создадим следующие элементы интерфейса программы

  • Ччетыре кнопки: "+", "-", "*", "/"
  • Три текстовых поля: два для выполнения арифметических операций и один для результата.
  • Надписи (Labels)
  • Кнопка закрытия окна осталась из примера, рассмотренного ранее

Добавлять элементы интерфейса программы весьма просто - перетягиваем их из панели инструментов в то место окна, где должен находиться элемент.

Обратите внимание, что имя элементов назначаются автоматически и, если не давать им осмысленные имена, и при достаточно боьшом их количестве, очень легко потеряться в хаосе, состоящем из элементов с названиями button1, button2, button3, textBox1, textBox2, textBox3 и так далее. Сразу после создания элемента, не ленитесь, давайте ему осмысленое имя - дальше, при создании обработчиков событий, имена функций будут генерироваться автоматически на основании имени элемента управления. Думаю никто не сомневается в том, что имя функции ButtonAddClick() гораздо более осмысленно, чем Button1Click()

Назначим обработчики событий нажатия кнопок

Выбераем по очереди каждую кнопку. Даблкликом создаем обработчик нажатия кнопки(Click). Если нужно добавить обработчик другого события - следует открыть вкладку События (значек в виде молнии)  и там уже выбрать необходимое событие.

Пишем код обработчика

Приведу текст для операции сложения. По аналогии я думаю вы догадаетесь как сделать вычитание и другие виды действий с числами, в плоть до возведения в степень и так далее:

void ButtonAdditionClick(object sender, EventArgs e)
{
    textBoxResult.Text =
        (Convert.ToInt32(textBoxOperand1.Text.ToString()) +
        Convert.ToInt32(textBoxOperand2.Text.ToString())).ToString();
}

Проверяем работу программы

Обратите внимание, что я пока не реализовал проверку вводимого значения в текстовое поле. Если ввести в него некорректное значение - программа выдаст сообщение об ошибке, в которой сообщается, что вы пытаетесь преобразовать в числовое значение неправильную строку:

Пока все. Если есть вопросы или замечания - пишите в комментах.

 

 

 

 

There are 2 Comments

Не показали как создать текстовые поля.

Ввел код, запустил программу, выдает ошибку. Скопировал код, та же проблема.

ожидалась } (CS1513)

Спасибо за отзыв по статье, буду дорабатывать

По ошибке - проверил, ошибок нет, я копировал только то что между фигурных скобок. Мой совет учиться писать код самостоятельно, тем более, что по нажатию клавиши Tab отображается список доступных классов, функций, переменных и так далее.

 

Твори, или уйди в сторону и не мешай творить другим.
Делись своим опытом и знаниями, ибо в могиле они тебе вряд-ли пригодятся.

Добавить комментарий

You must have Javascript enabled to use this form.