Создание классических приложений для компьютеров с Windows Build desktop apps for Windows PCs
Эта статья содержит сведения, необходимые, чтобы приступить к созданию классических приложений для Windows или обновления существующих классических приложений для использования новейших возможностей Windows 10 This article provides the info you need to get started building desktop apps for Windows or updating existing desktop apps to adopt the latest experiences in Windows 10.
Платформы для классических приложений Platforms for desktop apps
Существуют четыре основные платформы для создания классических приложений для компьютеров с Windows. There are four main platforms for building desktop apps for Windows PCs. Каждая платформа предоставляет модель приложения, определяющую жизненный цикл приложения, полную инфраструктуру пользовательского интерфейса и набор элементов управления пользовательского интерфейса, которые позволяют создавать классические приложения, такие как Word, Excel и Photoshop, и получать доступ к исчерпывающему набору управляемых или собственных API-интерфейсов для использования функций Windows. Each platform provides an app model that defines the lifecycle of the app, a complete UI framework and set of UI controls that let you create desktop apps like Word, Excel, and Photoshop, and access to a comprehensive set of managed or native APIs for using Windows features. Подробное сравнение этих платформ и дополнительные материалы по каждой платформе доступны в разделе Выбор платформы для приложения. For an in-depth comparison of these platforms along with additional resources for each platform, see Choose your app platform.
Платформа Platform | Описание Description | Документация и ресурсы Docs and resources | ||||
---|---|---|---|---|---|---|
Универсальная платформа Windows (UWP) Universal Windows Platform (UWP) |
Статья Article | Описание Description |
---|---|
Модернизация классических приложений Modernize desktop apps | Описываются последние возможности разработки для Windows 10 и UWP, которые можно использовать в любом классическом приложении, включая приложения WPF, Windows Forms и приложения Win32 на C++. Describes the latest Windows 10 and UWP development features you can use in any desktop app, including WPF, Windows Forms, and C++ Win32 apps. |
Руководство. Модернизация приложения WPF Tutorial: Modernize a WPF app | Следуйте пошаговым инструкциям, чтобы модернизировать существующий пример бизнес-приложения WPF, добавив элементы управления рукописным вводом и календарем UWP в приложение и упаковав его в пакет MSIX. Follow step-by-step instructions to modernize an existing WPF line-of-business sample app by adding UWP Ink and calendar controls to the app and packaging it in an MSIX package. |
Создание классических приложений Create new desktop apps
Ниже приведены некоторые ресурсы, которые помогут вам приступить к созданию классического приложения для Windows. If you are creating a new desktop app for Windows, here are some resources to help get you started.
Windows: Как создать программу
В этой статье я попробую показать, как создать программу самому, ведь это очень просто. Многие из нас постоянно работают с программами, сложными и попроще, но многие не задумываются, а что-же на самом деле есть программа. Если описать коротко, то программа — это набор инструкций, которые отдаются компьютеру в соответствии с происходящими событиями. Событиями могут быть такие очевидные вещи как нажатие кнопок клавиатуры, перемещение мыши и нажатие ее кнопок. Также событиями, не такими очевидными для непосвященного пользователя, могут быть уведомления от от операционной системы, компьютерного железа таймера, часов, и так далее.
Не буду рассуждать на тему зачем может потребоваться писать самостоятельно программу, у каждого свои причины. Перейдем сразу к установке среды разработки и написанию минимальной программы, которая будет иметь одно окно, в котором будет одна кнопка, при нажатии на которуй программа будет закрываться.
Оглавление к статье
1 . Из чего состоит процесс создания программы
Изначально создание программы можно разделить на следующие этапы:
- Разработка алгоритма работы программы.
- Дизайн пользовательского интерфейса. Размеры и свойства окна программы, расположение элементов управление внутри окна (окошки, кнопочки, менюшки и другие) и так далее.
- Написание логики программы. Это именно та часть, которая реагирует на события от нажатия кнопок, события операционной системы и выводит результат своей работы на экран.
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). Если нужно добавить обработчик другого события — следует открыть вкладку События (значек в виде молнии) и там уже выбрать необходимое событие.
Пишем код обработчика
Приведу текст для операции сложения. По аналогии я думаю вы догадаетесь как сделать вычитание и другие виды действий с числами, в плоть до возведения в степень и так далее:
Проверяем работу программы
Обратите внимание, что я пока не реализовал проверку вводимого значения в текстовое поле. Если ввести в него некорректное значение — программа выдаст сообщение об ошибке, в которой сообщается, что вы пытаетесь преобразовать в числовое значение неправильную строку:
Пока все. Если есть вопросы или замечания — пишите в комментах.