Windows Forms

Материал из Википедии — свободной энциклопедии
Текущая версия страницы покане проверялась опытными участниками и может значительно отличаться отверсии, проверенной 4 ноября 2014 года; проверки требуют26 правок.
Перейти к навигацииПерейти к поиску
Windows Forms
Логотип программы Windows Forms
Скриншот программы Windows Forms
Редактор форм Windows Forms в составе Visual Studio 2022
Типбиблиотека виджетов[вд] и фреймворк
РазработчикMicrosoft
Написана наC# и Visual Basic
Аппаратные платформы.NET Framework и .NET
Последняя версия
Репозиторийgithub.com/dotnet/winfor…
Лицензиялицензия MIT[2]

Windows Forms —интерфейс программирования приложений (API), отвечающий заграфический интерфейс пользователя и являющийся частьюMicrosoft.NET Framework. Данный интерфейс упрощает доступ к элементам интерфейсаMicrosoft Windows за счет создания обёртки для существующегоWin32 API вуправляемом коде. Причём управляемый код — классы, реализующиеAPI для Windows Forms, не зависят от языка разработки. То есть программист одинаково может использовать Windows Forms как при написании ПО на C#, C++, так и на VB.Net, J# и др.

С одной стороны, Windows Forms рассматривается как замена более старой и сложной библиотекеMFC, изначально написанной на языкеC++. С другой стороны, WF не предлагает парадигмы, сравнимой сMVC. Для исправления этой ситуации и реализации данной функциональности в WF существуют сторонние библиотеки. Одной из наиболее используемых подобных библиотек являетсяUser Interface Process Application Block, выпущенная специальной группой Microsoft, занимающейся примерами и рекомендациями, для бесплатного скачивания. Эта библиотека также содержит исходный код и обучающие примеры для ускорения обучения.

Внутри .NET Framework Windows Forms реализуется в рамкахпространства имёнSystem.Windows.Forms.

Содержание

История и развитие

[править |править код]

Как иAbstract Window Toolkit (AWT) (схожий API для языкаJava), библиотека Windows Forms была разработана как часть.NET Framework для упрощения разработки компонентовграфического интерфейса пользователя. Windows Forms построена на основе устаревающегоWindows API и представляет собой, по сути, обертку низкоуровневых компонентов Windows.

Windows Forms предоставляет возможность разработкикроссплатформенного графического пользовательского интерфейса. Однако, Windows Forms фактически является лишь оберткой Windows API-компонентов, и ряд её методов осуществляет прямой доступ к Win32-функциям обратного вызова, которые недоступны на других платформах.

В .NET Framework версии 2.0 библиотека Windows Forms получила более богатый инструментарий разработки интерфейсов, toolstrip-элементы интерфейса в стилеOffice 2003, поддержку многопоточности, расширенные возможности проектирования и привязки к данным, а также поддержку технологииClickOnce для развертывания веб-приложений.

С выходом.NET Framework 3.0 Microsoft выпустила новый API для рисования пользовательских интерфейсов:Windows Presentation Foundation, который базировался наDirectX 11 и декларативном языке описания интерфейсовXAML. Однако, даже несмотря на все это, Windows Forms и WPF всё ещё предлагают схожую функциональность, и поэтому Windows Forms не был упразднен в пользу WPF, а продолжает использоваться как альтернативная технология построения интерфейсов наряду с WPF.

Отвечая на вопросы на конференцииBuild 2014, Майкрософт пояснила, что Windows Forms будет поддерживаться, ошибки будут исправляться, но новые функции добавляться не будут. Позже улучшенная поддержка высокого разрешения для различных элементов интерфейса Windows Forms все же была анонсирована в релизе.NET Framework 4.5.

Архитектура

[править |править код]
ЭтотAPI является частью.NET Framework 3.0

Приложение Windows Forms представляет собойсобытийно-ориентированное приложение, поддерживаемое Microsoft.NET Framework. В отличие отпакетных программ, большая часть времени тратится на ожидание от пользователя каких-либо действий, как, например, ввод текста втекстовое поле или клика мышкой покнопке.

Альтернативные реализации

[править |править код]

Mono — проект, финансируемыйNovell (ранее —Ximian), одна из задач которого — создать стандартEcma, совместимый с набором инструментов.NET.

13 мая 2008 года APIMono System.Windows.Forms 2.0 была завершена (содержала 100 % классов, методов и т. д. из Microsoft System.Windows.Forms 2.0); также System.Windows.Forms 2.0 естественным образом работает и на Mac OS X.

См. также

[править |править код]

Примечания

[править |править код]

Ссылки

[править |править код]
Перейти к шаблону «.NET»
.NET
Реализации
Архитектура
Инфраструктура
Языки Microsoft
Другие языки
Windows Foundations
Компоненты
Сравнения
Будущие технологии
Информационные ресурсы
Перейти к шаблону «Свободное и открытое программное обеспечение Microsoft»
Общая информация
Программное
обеспечение
Приложения
Игры
Языки
программирования
Фреймворки и
средства разработки
Операционные
системы
Прочее
Лицензии
Связанные темы
Перейти к шаблону «Инструментарии виджетов»
Инструментарии (наборы)элементов графического интерфейса
Низко-
уровневые
Высоко-
уровневые
Amiga OS
Mac OS и
macOS
Windows
UNIX, подX
Кросс-
платфор-
менные
На основе Flash
На основе XML,
AJAX или SVG
На основе Java
На основе
C или C++
На основе Common Lisp
На основе Pascal
На основе Python
На основе Objective C
Источник —https://ru.wikipedia.org/w/index.php?title=Windows_Forms&oldid=149818668
Категории:
Скрытые категории: