В основном я бэкенд-разработчик и не люблю тратить время на фронтенд и интерфейсы. У меня также не так много навыков в дизайне и пользовательском интерфейсе, поэтому я обычно делегирую эту часть работы другим коллегам, которые являются графическим дизайнером или разработчиком внешнего интерфейса. Но когда в моей карьере мне пришлось работать над WinForms, чтобы создать приложение Windows для моих клиентов, мне нужно было найти быстрое решение.
Я нашел различные фреймворки, созданные для WinForms, чтобы разработчикам было легко создавать интерфейс пользовательского интерфейса всего за несколько щелчков мышью, и я протестировал их все.
Сегодня я расскажу о Bunifu Framework, и мы вместе создадим базовое погодное приложение для тестирования некоторых элементов управления этой мощной библиотеки.
Начиная
Прежде всего, давайте загрузим пробную версию Bunifu Framework ЗДЕСЬ или купим версию UI WinForms ЗДЕСЬ. В образовательных целях студенты и учителя могут воспользоваться Студенческим планом с огромной скидкой.
Впервые написал программу с графическим интерфейсом
Затем создайте новый проект WinForms, я назову его «WeatherApp».
Откройте диспетчер пакетов NuGet и установите пакет Bunifu.UI.WinForms.
Теперь в вашем наборе инструментов создайте новую вкладку, которую я назвал «Bunifu UI».
Выберите «Выбрать элементы», а затем «Обзор».
Перейдите в каталог своего проекта и выберите все Bunifu.WinForms dll, которые вы там найдете.
Теперь вы должны увидеть все доступные элементы управления на новой вкладке.
В этом руководстве мы будем использовать всего несколько элементов управления, но мы можем найти много подробностей обо всех элементах управления в официальной документации.
Реализация пользовательского интерфейса
Перетащите элемент управления SplitContainer, чтобы отделить раздел фильтра от основного раздела приложения. Затем установите для свойства IsSplitterFixed значение true, чтобы пользователь не мог изменять размеры двух панелей.
Добавьте по одной панели BunifuShadowPanel на каждую панель и установите для свойства Dock значение Fill. Я также изменил ShadowStyle второй панели на Dropped, чтобы сделать ее более стильной.
На верхней панели добавьте групповое поле, которое будет содержать текстовое поле и кнопку «Найти» .
Затем добавьте BunifuTextBox и измените свойство Placeholder по своему усмотрению.
Наконец, добавьте BunifuButton, изменив свойство Text на «Найти» и IdleBorderRadius на 25, чтобы границы округлились.
Теперь добавьте информацию о текущей погоде. Например, я помещаю выбранное местоположение, скорость ветра, процент влажности, давление и текущую температуру на BunifuLabel. Я также использовал BunifuPictureBox, чтобы показать простой значок текущей погодной ситуации.
Наконец то же самое на следующие 5 дней. Конечно, это будет всего лишь краткий прогноз, поэтому я покажу только прогнозируемый день, значок и температуру. Я использовал здесь те же элементы управления Bunifu, что и раньше.
Затем нам нужно связать кнопку с событием кода, выполнить два вызова API и установить возвращаемые данные в интерфейс приложения. Ниже вы можете найти простой пример того, как это сделать:
Реализация API
Поскольку мы хотим создать погодное приложение, первое, что нам нужно, — это общедоступный API, который мог бы предоставлять нам такие данные.
Раньше я уже пользовался MetaWeather и рекомендую его, потому что он бесплатный и не требует даже авторизации с логином / токеном. Это делает этот сервис идеальным для таких небольших проектов, как этот.
Для создания нашего приложения нам понадобится всего два вызова API:
- Горе для конкретного места
- Данные о погоде в этом месте
Теперь нам нужно создать два новых класса для объекта ответа API. Вы можете создать эти два класса вручную или с помощью онлайн-инструмента, такого как QuickType. Во втором случае этот инструмент также создаст несколько методов, упрощающих сериализацию и десериализацию.
Ниже вы можете найти два класса для обоих ответов API:
Создайте новую папку «API» и новый класс с именем Weather, который будет содержать два наших вызова службы MetaWeather и еще один метод для получения изображения.
Дальнейшие улучшения
Теперь у нас есть приложение, которое показывает текущую погоду и прогноз на ближайшие 5 дней. Что, если мы хотим также увидеть график с минимальной и максимальной температурой?
Откройте диспетчер пакетов NuGet и установите пакет Bunifu.Dataviz.WinForms. Это библиотека, которая содержит типы Базовый и Расширенный, и она поможет нам легко создавать графики.
Давайте создадим разделенный контейнер, чтобы отделить левое меню от основного раздела, и добавим в меню два элемента BunifuTileButton.
Добавьте новую панель с именем «graphPanel» под существующей, просто перетащите внутри нее элемент управления BunifuDataVizAdvanced.
Вернитесь к файлу MainForm.cs и обновите код следующим образом:
Тестовое задание
Урок #22 – Создание интерфейсов
Интерфейсы очень схожи с абстрактными классами. Между ними есть всего несколько отличий. За урок мы научимся использовать интерфейсы на практике, а также узнаем где и зачем их можно использовать.
Видеоурок
Во многих языках программирования реализована возможность множественного наследования, когда один класс имеет несколько классов родителей. В языке C# такой функциональности нет и чтобы решить эту проблему можно использовать интерфейсы.
Что такое интерфейс?
Интерфейсы очень схожи с абстрактными классами и предоставляют лишь методы без реализации.
В интерфейсах можно записать методы, что должны реализовываться во всех классах, использующих интерфейс. Это удобно, ведь за счёт такого функционала мы можем быть уверены в классах и будем знать что они реализовывают все те функции, что мы предусмотрели заранее.
Как создать интерфейс?
Для создания интерфейса используется ключевое слово Interface :
interface ISomeOne
В интерфейсе можно не прописывать модификаторы доступа и по-умолчанию будет проставлен модификатор public.
Для реализации функционала в интерфейсе необходимо создать класс и указать что он является классом, реализующим определенный интерфейс. Для этого после названия класса пропишите слово : :
class Person : ISomeOne < string name; float happiness; int age; public Person(string name, float happiness, int age) < this.name = name; this.happiness = happiness; this.age = age; >public void Change (string val) < this.name = val; Console.WriteLine(«Now his name is — » + val); >>
Источник: itproger.com
Создание приложения Windows Forms на C# в Visual Studio
Область применения:Visual Studio
Visual Studio для Mac
Visual Studio Code
В этом руководстве вы создадите простое приложение C#, которое имеет пользовательский интерфейс на основе Windows.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio, если еще не сделали этого.
На некоторых снимках экрана в этом учебнике используется темная тема. Если вы не используете темную тему, но хотите переключиться на нее, см. страницу Персонализация интегрированной среды разработки и редактора Visual Studio.
Установите Visual Studio бесплатно со страницы скачиваемых материалов Visual Studio 2022, если еще не сделали этого.
Создание проекта
Сначала вы создадите проект приложения на C#. Для этого типа проекта уже имеются все нужные файлы шаблонов, что избавляет вас от лишней работы.
- Запустите Visual Studio.
- На начальном экране выберите Создать проект.
- В окне Создать проект выберите шаблон Приложение Windows Forms (.NET Framework) для C#. (При желании можно уточнить поиск, чтобы быстро получить нужный шаблон. Например, введите или введите Windows Forms App в поле поиска. Затем выберите C# в списке Язык, а затем в списке Платформы выберите Windows.)
Примечание Если шаблон Приложение Windows Forms (.NET Framework) отсутствует, его можно установить из окна Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов.
После этого в Visual Studio Installer выберите рабочую нагрузку Разработка классических приложений .NET.
Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. Выберите Продолжить, чтобы установить рабочую нагрузку. После этого вернитесь к шагу 2 в процедуре Создание проекта.
- Запустите Visual Studio.
- В окне запуска выберите Создание нового проекта.
- В окне Создание проекта выберите шаблон Приложение Windows Forms (.NET Framework) для C#. (При желании можно уточнить поиск, чтобы быстро получить нужный шаблон. Например, введите или введите Windows Forms App в поле поиска. Затем выберите C# в списке Язык, а затем в списке Платформа выберите Windows.)
Примечание Если шаблон Приложение Windows Forms (.NET Framework) отсутствует, его можно установить из окна Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов.
После этого выберите рабочую нагрузку Разработка классических приложений .NET в Visual Studio Installer.
Затем нажмите кнопку Изменить в Visual Studio Installer. Вам может быть предложено сохранить результаты работы; в таком случае сделайте это. Выберите Продолжить, чтобы установить рабочую нагрузку. После этого вернитесь к шагу 2 в процедуре Создание проекта.
Создание приложения
Когда вы выберете шаблон проекта C# и зададите имя файла, Visual Studio открывает форму. Форма является пользовательским интерфейсом Windows. Мы создадим приложение Hello World, добавив элементы управления на форму, а затем запустим его.
Добавление кнопки на форму
- Выберите Панель элементов, чтобы открыть всплывающее окно «Панель элементов».
(Если вы не видите всплывающий элемент панели элементов , его можно открыть в строке меню. Для этого перейдите к просмотру>панели элементов. Или нажмите клавиши CTRL+ALT+X.)
- Разверните узел Общие элементы управления и щелкните значок Закрепить , чтобы закрепить окно панели элементов .
- Выберите элемент управления Кнопка и перетащите его на форму.
- В окне Свойства найдите Текст, измените имя с button1 на Click this и нажмите клавишу ВВОД.
(Если окно Свойства не отображается, его можно открыть в строке меню. Для этого выберите Вид>окно свойств. Или нажмите клавишу F4.)
- В разделе Конструктор окна Свойства измените имя с button1 на btnClickThis и нажмите клавишу ВВОД.
Примечание Если список в окне Свойства был упорядочен по алфавиту, button1 появится в разделе Привязки данных.
Добавление метки на форму
Теперь, когда мы добавили элемент управления »Кнопка» для создания действия, давайте добавим элемент управления «Метка», куда можно отправлять текст.
- Выберите элемент управления Метка в окне Панель элементов, а затем перетащите его на форму и расположите под кнопкой Нажмите это.
- В разделе Конструктор или Привязки данных окна Свойства измените имя label1 на lblHelloWorld и нажмите клавишу ВВОД.
Добавление кода на форму
- В окне Form1.cs [Design] дважды щелкните кнопку Нажмите эту кнопку, чтобы открыть окно Form1.cs . (Кроме того, можно развернуть узел Form1.cs в обозревателе решений, а затем выбрать Form1.)
- В окне Form1.cs после строки private void введите lblHelloWorld.Text = «Hello World!»; , как показано на следующем снимке экрана:
Запуск приложения
- Нажмите кнопку Запустить, чтобы запустить приложение.
Будет выполнено несколько операций. В интегрированной среде разработки Visual Studio откроются окна Средства диагностики и Вывод. Кроме того, вне этой среды откроется диалоговое окно Form1. Оно будет содержать вашу кнопку Нажмите это и текст label1.
- Нажмите кнопку Нажмите это в диалоговом окне Form1. Обратите внимание, что текст label1 меняется на Hello World! .
- Закройте диалоговое окно Form1, чтобы завершить работу приложения.
Создание приложения
Когда вы выберете шаблон проекта C# и зададите имя файла, Visual Studio открывает форму. Форма является пользовательским интерфейсом Windows. Мы создадим приложение Hello World, добавив элементы управления на форму, а затем запустим его.
Добавление кнопки на форму
- Щелкните Панель элементов, чтобы открыть всплывающее окно «Панель элементов».
(Если вы не видите всплывающий элемент панели элементов , его можно открыть в строке меню. Для этого перейдите к просмотру>панели элементов. Или нажмите клавиши CTRL+ALT+X.)
- Щелкните значок Закрепить, чтобы закрепить окно Панель элементов.
- Выберите элемент управления Кнопка и перетащите его на форму.
- В окне Свойства найдите элементТекст, измените имя с Button1 на Click this , а затем нажмите клавишу ВВОД.
(Если окно Свойства не отображается, его можно открыть в строке меню. Для этого выберите Просмотр>окна свойств. Или нажмите клавишу F4.)
- В разделе Проектирование окна Свойства измените имя с Button1 на btnClickThis , а затем нажмите клавишу ВВОД.
Примечание Если список был упорядочен по алфавиту в окне Свойства, Button1 появится в разделе (DataBindings) .
Добавление метки на форму
Теперь, когда мы добавили элемент управления »Кнопка» для создания действия, давайте добавим элемент управления «Метка», куда можно отправлять текст.
- Выберите элемент управления Метка в окне Панель элементов, а затем перетащите его на форму и расположите под кнопкой Нажмите это.
- В разделе Проект или (DataBindings) окна Свойства измените имя Label1 на lblHelloWorld и нажмите клавишу ВВОД.
Добавление кода на форму
- В окне Form1.cs [Design] дважды щелкните кнопку Нажмите эту кнопку, чтобы открыть окно Form1.cs . (Кроме того, можно развернуть Файл Form1.cs в Обозреватель решений, а затем выбрать Просмотр кода (или нажать клавишу F7) в контекстном меню form1.cs.)
- В окне Form1.cs после строки private void введите lblHelloWorld.Text = «Hello World!»; , как показано на следующем снимке экрана:
Запуск приложения
- Нажмите кнопку Запустить, чтобы запустить приложение.
Будет выполнено несколько операций. В интегрированной среде разработки Visual Studio откроются окна Средства диагностики и Вывод. Кроме того, вне этой среды откроется диалоговое окно Form1. Оно будет содержать вашу кнопку Нажмите это и текст Label1.
- Нажмите кнопку Нажмите это в диалоговом окне Form1. Обратите внимание, что текст Label1 меняется на Hello World! .
- Закройте диалоговое окно Form1, чтобы завершить работу приложения.
Следующие шаги
Поздравляем с завершением этого учебника! Для получения дополнительных сведений перейдите к следующему руководству:
См. также
- Другие руководства по C#
- Руководства по Visual Basic
- Руководства по C++
Источник: learn.microsoft.com