- Библиотека Windows Forms
- Руководство по классическим приложениям (Windows Forms .NET) Desktop Guide (Windows Forms .NET)
- Введение Introduction
- Зачем нужна миграция с .NET Framework Why migrate from .NET Framework
- Создание многофункциональных интерактивных пользовательских интерфейсов Build rich, interactive user interfaces
- Создание форм и элементов управления Create forms and controls
- Отображение и обработка данных Display and manipulate data
- Развертывание приложений на клиентских компьютерах Deploy apps to client computers
Библиотека Windows Forms
Технологии построения пользовательских интерфейсов в ОС WIndows
Библиотека Windows Forms
Windows Forms — стиль построения приложения на базе классов .NET Framework class library. Они имеют собственную модель программирования, которая более совершеннее, чем модели, основанные на Win32 API или MFC, и они выполняются в управляемой среде .NET Common Language Runtime (CLR).
В терминах программирования как MFC, так и Windows Forms работают, вызывая функции Windows API. С точки зрения архитектуры, можно сказать, что эти интерфейсы расположены наверху Windows API. Это интерфейсы более высокого уровня, предназначенные для облегчения программирования для Windows. Вообще MFC и Windows Forms позволяют решать поставленные задачи с меньшим числом операторов, чем при использовании функций API. Очевидно, что MFC и Windows Forms не только повышают производительность программиста, но и, подобно любому интерфейсу более высокого уровня, обладают меньшей гибкостью по сравнению с интерфейсом более низкого уровня. Windows API позволяет делать много такого, что невозможно при использовании классов Windows Forms.»
Выгода от Windows Forms — используете тот же самый API, независимо от языка программирования, который вы выбрали. Все приложения, которые используют Windows Forms, используют один API из .NET Framework class library. Знание одного API достаточно позволит программисту писать приложения фактически на любом языке, который он выберет.
В Windows Forms термин «форма» — синоним окна верхнего уровня. Главное окно приложения — форма. Любые другие окна верхнего уровня, которые имеет приложение — также формы. Окна диалога также считаются формами. Несмотря на название, приложения, использующие Windows Forms, не выглядят как формы. Подобно традиционным Windows-приложениям приложения осуществляют полный контроль над событиями в собственных окнах.
Приложение «Hello World» с Windows Forms
Примеры написан на C#, но можно писать приложения Windows Forms на любом языке, для которого есть компилятор .NET: C#, Visual Basic, JScript и C++.
public class MyForm : Form
Text = «Windows Forms Demo»;
protected override void OnPaint (PaintEventArgs e)
e.Graphics.DrawString («Hello, world», Font,
new SolidBrush (Color.Black), ClientRectangle);
public static void Main (string[] args)
Application.Run (new MyForm ());
В приложении, использующем Windows Forms, каждое окно — или форма — представлено экземпляром класса, производного от System.WinForms.Form. Конструктор MyForm устанавливает текст заголовка формы «Windows Forms Demo» используя свойство Text. Text — одно из более чем 100 свойств, которые форма наследует от System.WinForms.Form, но пока единственное, в котором вы нуждаетесь.
Статический метод Main — точка входа в приложение. Каждое приложение .NET должно иметь этот метод. Main может быть объявлен любым из следующих способов:
public static void Main ()
public static int Main ()
public static void Main (string[] args)
public static int Main (string[] args)
Визуальное проектирование форм
| Панели инструментов На панелях инструментов находятся элементы управления и компоненты, перетаскивая которые на форму, можно создавать приложения Windows. Элементы управления разбиты на категории с логичными названиями, например Menus and Toolbars (меню и панели инструментов), Data (данные), Common Dialogs (диалоговые окна) и т.д. Чтобы добавить элемент управления на форму Windows, достаточно щелкнуть его мышью и перетащить на форму. |
| Окно свойств С помощью окна свойств можно просматривать и изменять свойства и события компонентов приложения. Окно свойств является контекстно-зависимым: пункты меню в нем зависят от редактируемых разработчиком параметров. Например, при изменении цвета фона формы Windows появляется палитра цветов, в которой можно выбрать другое значение. |
| Линии привязки Visual C++ 2005 Express Edition позволяет придавать нужный вид приложениям благодаря использованию линий привязки, помогающих при планировании форм. Они подобны магнитным якорям и появляются при размещении на форме элемента управления. В процессе перетаскивания рисуются линии, обеспечивающие горизонтальное или вертикальное выравнивание, позволяя упорядочить элемент относительно других, уже имеющихся в форме. |
| |
| Окно свойств также можно использовать для добавления или обновления формы и управления событиями. Чтобы сделать это, необходимо щелкнуть значок с изображением молнии, расположенный в верхней его части. На схеме показан список событий, связанных с формой Windows; в него можно добавлять новые события, если дважды щелкнуть имя события. |
Работа с элементами управления:
Инициализация текстовых полей
Рассмотрим процесс инициализации текстовых полей на примере поля с надписью
//
// label1
//
this.label1.Font = new System.Drawing.Font(«Haettenschweiler», 26.25F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((System.Byte)(204)));
this.label1.ForeColor = System.Drawing.Color.FromArgb(((System.Byte)(67)),
((System.Byte)(128)), ((System.Byte)(165)));
this.label1.Location = new System.Drawing.Point(128, 8);
this.label1.Name = «label1»;
this.label1.Size = new System.Drawing.Size(216, 40);
this.label1.TabIndex = 0;
this.label1.Text = «DataRecovery.Ru»;
Дата добавления: 2017-01-26 ; просмотров: 2614 ; ЗАКАЗАТЬ НАПИСАНИЕ РАБОТЫ
Руководство по классическим приложениям (Windows Forms .NET) Desktop Guide (Windows Forms .NET)
Добро пожаловать в руководство по классическим приложениям для Windows Forms, платформы пользовательского интерфейса для создания разнообразных клиентских приложений рабочего стола в Windows. Welcome to the Desktop Guide for Windows Forms, a UI framework that creates rich desktop client apps for Windows. Платформа разработки Windows Forms поддерживает широкий набор функций для разработки приложений, включая элементы управления, графику, привязку данных и ввод пользователя. The Windows Forms development platform supports a broad set of app development features, including controls, graphics, data binding, and user input. Характерной чертой Windows Forms является использование визуального конструктора с функцией перетаскивания в Visual Studio для упрощения создания приложений Windows Forms. Windows Forms features a drag-and-drop visual designer in Visual Studio to easily create Windows Forms apps.
Документация для Руководства по рабочему столу по .NET 5 (и .NET Core) находится в разработке. The Desktop Guide documentation for .NET 5 (and .NET Core) is under construction.
Существует две реализации Windows Forms. There are two implementations of Windows Forms:
Реализация с открытым исходным кодом, размещенная на GitHub. The open-source implementation hosted on GitHub.
Эта версия работает в .NET 5 и .NET Core 3.1. This version runs on .NET 5 and .NET Core 3.1. Для использования визуального конструктора Windows Forms требуется версия Visual Studio 2019 не ниже предварительной версии 16.8. The Windows Forms Visual Designer requires, at a minimum, Visual Studio 2019 version 16.8 Preview.
Реализация .NET Framework 4, поддерживаемая в Visual Studio 2019 и Visual Studio 2017. The .NET Framework 4 implementation that’s supported by Visual Studio 2019 and Visual Studio 2017.
.NET Framework 4 — это версия .NET только для Windows, которая считается компонентом операционной системы Windows. .NET Framework 4 is a Windows-only version of .NET and is considered a Windows Operating System component. Эта версия Windows Forms распространяется с .NET Framework. This version of Windows Forms is distributed with .NET Framework.
Данное руководство по классическим приложениям создано для Windows Forms в .NET 5. This Desktop Guide is written for Windows Forms on .NET 5. Дополнительные сведения о версии Windows Forms для .NET Framework см. в разделе Windows Forms для .NET Framework. For more information about the .NET Framework version of Windows Forms, see Windows Forms for .NET Framework.
Введение Introduction
Windows Forms — это платформа пользовательского интерфейса для создания классических приложений Windows. Windows Forms is a UI framework for building Windows desktop apps. Она обеспечивает один из самых эффективных способов создания классических приложений с помощью визуального конструктора в Visual Studio. It provides one of the most productive ways to create desktop apps based on the visual designer provided in Visual Studio. Такие функции, как размещение визуальных элементов управления путем перетаскивания, упрощают создание классических приложений. Functionality such as drag-and-drop placement of visual controls makes it easy to build desktop apps.
В Windows Forms можно разрабатывать графически сложные приложения, которые просто развертывать, обновлять, и с которыми удобно работать как в автономном режиме, так и в сети. With Windows Forms, you develop graphically rich apps that are easy to deploy, update, and work while offline or while connected to the internet. Приложения Windows Forms могут получать доступ к локальному оборудованию и файловой системе компьютера, на котором работает приложение. Windows Forms apps can access the local hardware and file system of the computer where the app is running.
Зачем нужна миграция с .NET Framework Why migrate from .NET Framework
В Windows Forms для .NET 5.0 предусмотрены новые функции и усовершенствования по сравнению с .NET Framework. Windows Forms for .NET 5.0 provides new features and enhancements over .NET Framework. Дополнительные сведения см. в разделе Новые возможности в Windows Forms для .NET 5. For more information, see What’s new in Windows Forms for .NET 5. О том, как выполняется перенос приложения, см. в разделе Порядок переноса классического приложения Windows Forms в .NET 5. To learn how to migrate an app, see How to migrate a Windows Forms desktop app to .NET 5.
Создание многофункциональных интерактивных пользовательских интерфейсов Build rich, interactive user interfaces
Windows Forms — это технология пользовательского интерфейса для .NET, представляющая собой набор управляемых библиотек, которые упрощают выполнение стандартных задач, таких как чтение из файловой системы и запись в нее. Windows Forms is a UI technology for .NET, a set of managed libraries that simplify common app tasks such as reading and writing to the file system. С помощью среды разработки, такой как Visual Studio, можно создавать интеллектуальные клиентские приложения Windows Forms, которые отображают информацию, запрашивают ввод пользователя и взаимодействуют с удаленными компьютерами по сети. When you use a development environment like Visual Studio, you can create Windows Forms smart-client apps that display information, request input from users, and communicate with remote computers over a network.
В Windows Forms форма — это визуальная поверхность, на которой выводится информация для пользователя. In Windows Forms, a form is a visual surface on which you display information to the user. Обычно приложение Windows Forms строится путем добавления элементов управления в формы и создания кода для реагирования на действия пользователя, такие как щелчки мыши или нажатия клавиш. You ordinarily build Windows Forms apps by adding controls to forms and developing responses to user actions, such as mouse clicks or key presses. Элемент управления — это отдельный элемент пользовательского интерфейса, предназначенный для отображения или ввода данных. A control is a discrete UI element that displays data or accepts data input.
При выполнении пользователем какого-либо действия с формой или одним из ее элементов управления создается событие. When a user does something to your form or one of its controls, the action generates an event. Приложение реагирует на эти события, как задано в коде, и обрабатывает события при их возникновении. Your app reacts to these events with code, and processes the events when they occur.
В Windows Forms предусмотрено множество элементов управления, которые можно добавлять в формы. Например, элементы управления могут отображать текстовые поля, кнопки, раскрывающиеся списки, переключатели и даже веб-страницы. Windows Forms contains a variety of controls that you can add to forms: controls that display text boxes, buttons, drop-down boxes, radio buttons, and even webpages. Если предусмотренные элементы управления не подходят для ваших целей, в Windows Forms можно создавать собственные пользовательские элементы управления с помощью класса UserControl. If an existing control doesn’t meet your needs, Windows Forms also supports creating your own custom controls using the UserControl class.
В Windows Forms имеются многофункциональные элементы управления пользовательского интерфейса, позволяющие эмулировать функции таких сложных приложений, как Microsoft Office. Windows Forms has rich UI controls that emulate features in high-end apps like Microsoft Office. С помощью элементов управления ToolStrip и MenuStrip вы можете создавать панели инструментов и меню, которые содержат текст и изображения, отображают подменю и размещают другие элементы управления, такие как текстовые поля и поля со списками. When you use the ToolStrip and MenuStrip controls, you can create toolbars and menus that contain text and images, display submenus, and host other controls such as text boxes and combo boxes.
Используя функцию перетаскивания конструктора Windows Forms в Visual Studio, можно легко создавать приложения Windows Forms. With the drag-and-drop Windows Forms Designer in Visual Studio, you can easily create Windows Forms apps. Просто выделите элемент управления с помощью курсора и поместите его на нужное место в форме. Just select the controls with your cursor and place them where you want on the form. Для преодоления трудностей, связанных с выравниванием элементов управления, конструктор предоставляет такие средства, как линии сетки и линии привязки. The designer provides tools such as gridlines and snap lines to take the hassle out of aligning controls. С помощью элементов управления FlowLayoutPanel, TableLayoutPanel и SplitContainer можно гораздо быстрее создавать сложные макеты форм. You can use the FlowLayoutPanel, TableLayoutPanel, and SplitContainer controls to create advanced form layouts in less time.
Наконец, если нужно создать свои собственные элементы пользовательского интерфейса, пространство имен System.Drawing содержит широкий набор классов, необходимых для отрисовки линий, кругов и других фигур непосредственно на форме. Finally, if you must create your own custom UI elements, the System.Drawing namespace contains a large selection of classes to render lines, circles, and other shapes directly on a form.
Создание форм и элементов управления Create forms and controls
Пошаговые инструкции по использованию этих возможностей можно найти в приведенных ниже разделах справки. For step-by-step information about how to use these features, see the following Help topics.
- Добавление формы в проект How to add a form to a project
- Добавление элементов управления в форму How to add Controls to to a form
Control | [How to: Create a Basic ToolStrip with Standard Items Using the Designer](./controls/create-a-basic-wf-toolstrip-with-standard-items-using-the-designer.md) | | Creating graphics with | [Getting Started with Graphics Programming](./advanced/getting-started-with-graphics-programming.md) | | Creating custom controls | [How to: Inherit from the UserControl Class](./controls/how-to-inherit-from-the-usercontrol-class.md) | —>
Отображение и обработка данных Display and manipulate data
Во многих приложениях требуется отображать данные из базы данных, файла XML или JSON, веб-службы или другого источника данных. Many apps must display data from a database, XML or JSON file, web service, or other data source. Windows Forms предоставляет гибкий элемент управления с именем DataGridView для отображения таких табличных данных в традиционном формате строк и столбцов так, что каждый фрагмент данных занимает свою собственную ячейку. Windows Forms provides a flexible control that is named the DataGridView control for displaying such tabular data in a traditional row and column format, so that every piece of data occupies its own cell. С помощью DataGridView можно, помимо прочего, настроить внешний вид отдельных ячеек, зафиксировать строки и столбцы на своем месте, а также обеспечить отображение сложных элементов управления внутри ячеек. When you use DataGridView, you can customize the appearance of individual cells, lock arbitrary rows and columns in place, and display complex controls inside cells, among other features.
В Windows Forms можно с легкостью подключаться к источникам данных по сети. Connecting to data sources over a network is a simple task with Windows Forms. Компонент BindingSource представляет подключение к источнику данных и содержит методы для привязки данных к элементам управления, перехода к предыдущей или следующей записи, редактирования записей и сохранения изменений в исходном источнике. The BindingSource component represents a connection to a data source, and exposes methods for binding data to controls, navigating to the previous and next records, editing records, and saving changes back to the original source. Элемент управления BindingNavigator предоставляет простой интерфейс на основе компонента BindingSource для перехода между записями. The BindingNavigator control provides a simple interface over the BindingSource component for users to navigate between records.
Вы можете легко создавать элементы управления с привязкой к данным с помощью окна «Источники данных» в Visual Studio. You can create data-bound controls easily by using the Data Sources window in Visual Studio. В этом окне отображаются существующие в вашем проекте источники данных, такие как базы данных, веб-службы и объекты. The window displays data sources such as databases, web services, and objects in your project. Создавать элементы управления с привязкой к данным можно путем перетаскивания объектов из этого окна в формы проекта. You can create data-bound controls by dragging items from this window onto forms in your project. Также можно связывать существующие элементы управления с данными, перетаскивая объекты из окна «Источники данных» в существующие элементы управления. You can also data-bind existing controls to data by dragging objects from the Data Sources window onto existing controls.
Другой тип привязки к данным в формах Windows Forms — это параметры. Another type of data binding you can manage in Windows Forms is settings. В большинстве приложений требуется сохранять некоторые сведения о состоянии приложения во время выполнения, например, последний известный размер форм, а также данные пользовательских предпочтений, например, место сохранения файлов по умолчанию. Most apps must retain some information about their run-time state, such as the last-known size of forms, and retain user preference data, such as default locations for saved files. Параметры приложения отвечает этим требованиям, предоставляя простой способ хранения обоих типов сведений на клиентском компьютере. The Application Settings feature addresses these requirements by providing an easy way to store both types of settings on the client computer. После того как вы определите эти параметры с помощью Visual Studio или редактора кода, они сохраняются в XML-файле и автоматически считываются обратно в память во время выполнения. After you define these settings by using either Visual Studio or a code editor, the settings are persisted as XML and automatically read back into memory at run time.
component | [How to: Bind Windows Forms Controls with the BindingSource Component Using the Designer](./controls/bind-wf-controls-with-the-bindingsource.md) | | Working with ADO.NET data sources | [How to: Sort and Filter ADO.NET Data with the Windows Forms BindingSource Component](./controls/sort-and-filter-ado-net-data-with-wf-bindingsource-component.md) | | Using the Data Sources window | [Bind Windows Forms controls to data in Visual Studio](/visualstudio/data-tools/bind-windows-forms-controls-to-data-in-visual-studio) | | Using app settings | [How to: Create Application Settings](./advanced/how-to-create-application-settings.md) | —>
Развертывание приложений на клиентских компьютерах Deploy apps to client computers
После создания приложения необходимо отправить его пользователям, чтобы они могли установить и запустить его на своих клиентских компьютерах. After you have written your app, you must send the app to your users so that they can install and run it on their own client computers. С помощью технологии ClickOnce можно развертывать приложения из Visual Studio всего в несколько щелчков, а затем предоставлять пользователям URL-адрес приложения в Интернете. When you use the ClickOnce technology, you can deploy your apps from within Visual Studio by using just a few clicks, and provide your users with a URL pointing to your app on the web. ClickOnce управляет всеми элементами и зависимостями в приложении и обеспечивает его правильную установку на клиентском компьютере. ClickOnce manages all the elements and dependencies in your app, and ensures that the app is correctly installed on the client computer.
Приложения ClickOnce можно настроить для работы только при подключении к сети или для работы как в сетевом, так и в автономном режиме. ClickOnce apps can be configured to run only when the user is connected to the network, or to run both online and offline. Если вы указываете, что приложение должно поддерживать работу в автономном режиме, то технология ClickOnce добавляет ссылку на приложение в меню Пуск пользователя. When you specify that an app should support offline operation, ClickOnce adds a link to your app in the user’s Start menu. Затем пользователь может открывать приложение без использования URL-адреса. The user can then open the app without using the URL.
При обновлении приложения вы публикуете на веб-сервере новый манифест развертывания и новую копию приложения. When you update your app, you publish a new deployment manifest and a new copy of your app to your web server. ClickOnce обнаруживает, что доступно обновление, и обновляет установку пользователя. ClickOnce will detect that there is an update available and upgrade the user’s installation. Таким образом, для обновления старых приложений не требуется писать специальный код. No custom programming is required to update old apps.