Учебник. Создание приложения WinForms на Visual Basic
Область применения:Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
В этом учебнике вы создадите приложение Visual Basic с пользовательским интерфейсом Windows Forms. Интегрированная среда разработки Visual Studio содержит все средства, необходимые для создания приложения Windows Forms.
В этом руководстве описано следующее:
- Создание проекта
- Добавление кнопки на форму
- Добавление метки и кода
- Выполнение приложения
Необходимые компоненты
Для выполнения шагов, описанных в этом учебнике, вам понадобится Visual Studio. Перейдите на страницу загрузки Visual Studio, чтобы получить бесплатную версию.
Для выполнения шагов, описанных в этом учебнике, вам понадобится Visual Studio. Перейдите на страницу загрузки Visual Studio, чтобы получить бесплатную версию.
Создание проекта
Создайте проект приложения Visual Basic. Для этого типа проекта уже имеются все нужные файлы шаблонов, что избавляет вас от лишней работы.
- Откройте Visual Studio.
- На начальном экране выберите Создать проект.

- В окне Создать проект выберите шаблон Приложение Windows Forms (.NET Framework) для Visual Basic. Вы можете уточнить условия поиска, чтобы быстро перейти к нужному шаблону. Например, введите Приложение Windows Forms в поле поиска. Затем выберите Visual Basic в списке языков и Windows в списке платформ.

Примечание. Если шаблон Приложение Windows Forms (.NET Framework) отсутствует, его можно установить из окна Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов.
После этого в Visual Studio Installer выберите рабочую нагрузку Разработка классических приложений .NET.
После этого в Visual Studio Installer выберите Изменить. Вам может быть предложено сохранить результаты работы.

- Откройте Visual Studio.
- На начальном экране выберите Создать проект.

- В окне Создать проект выберите шаблон Приложение Windows Forms (.NET Framework) для Visual Basic. Вы можете уточнить условия поиска, чтобы быстро перейти к нужному шаблону. Например, введите Приложение Windows Forms в поле поиска. Затем выберите Visual Basic в списке языков и Windows в списке платформ.

Примечание. Если шаблон Приложение Windows Forms (.NET Framework) отсутствует, его можно установить из окна Создание проекта. В сообщении Не нашли то, что искали? выберите ссылку Установка других средств и компонентов.
После этого в Visual Studio Installer выберите рабочую нагрузку Разработка классических приложений .NET.
После этого в Visual Studio Installer выберите Изменить. Вам может быть предложено сохранить результаты работы.

Добавление кнопки на форму
Когда вы выберете шаблон проекта Visual Basic и зададите имя файла, Visual Studio открывает форму. Форма является пользовательским интерфейсом Windows. Вы создадите приложение Hello World, добавив в форму элементы управления.
- В левой части интегрированной среды разработки Visual Studio выберите вкладку Панель элементов. Если вы ее не видите, выберите пункт Представление>Панель элементов в строке меню или воспользуйтесь комбинацией клавиш CTRL+ALT+X.
Если нужно, выберите значок Закрепить, чтобы закрепить окно Панель элементов. - Выберите элемент управления Кнопка и перетащите его на форму.

- В разделе Внешний вид окна Свойства введите для свойства TextНажать это и нажмите клавишу Ввод.
Если окно Свойства не отображается, его можно открыть в строке меню. Для этого выберите Вид>Окно свойств или нажмите клавишу F4. - В разделе Проектирование окна Свойства измените имя с Button1 на btnClickThis, а затем нажмите клавишу Ввод.
Примечание. Если список был упорядочен по алфавиту в окне Свойства, Button1 появится в разделе (DataBindings).
Добавление метки и кода
Теперь, когда мы добавили элемент управления »Кнопка» для создания действия, добавьте элемент управления «Метка», куда можно отправлять текст.

- Выберите элемент управления Метка в окне Панель элементов, а затем перетащите его на форму. Поместите его под кнопкой Нажать это.
- В разделе Проект или (DataBindings) окна Свойства измените имя Label1 на lblHelloWorld и нажмите клавишу Enter.
- В окне Form1.vb [Конструктор] дважды щелкните эту кнопку, чтобы открыть окно Form1.vb. Кроме того, можно развернуть узел Form1.vb в Обозревателе решений, а затем выбрать Form1.
- В окне Form1.vb между частными вложенными и конечными вложенными строками введите lblHelloWorld.Text = «Hello World!» как показано на следующем снимке экрана:
Выполнение приложения
Приложение готово к сборке и запуску.
- Выберите Пуск, чтобы запустить приложение.
В данном случае происходит следующее. В интегрированной среде разработки Visual Studio откроются окна Средства диагностики и Вывод. Вне этой среды откроется диалоговое окно Form1. Оно будет содержать вашу кнопку Нажать это и текст Label1. - Нажмите кнопку Нажмите это в диалоговом окне Form1.
Текст Label1 меняется на Hello World!. - Закройте диалоговое окно Form1, чтобы завершить работу приложения.
Следующие шаги
Чтобы узнать больше о Windows Forms, перейдите к следующему учебнику:
См. также
- Другие руководства по Visual Basic
- Руководства по C#
- Руководства по C++
Добавление элемента управления в форму (Windows Forms .NET)
Большинство форм создается путем добавления элементов управления на поверхность формы для определения пользовательского интерфейса. Элемент управления — это компонент в форме, используемый для вывода информации или ввода данных пользователем.
Основной способ добавления элемента управления в форму — с помощью конструктора Visual Studio, но вы также можете управлять элементами управления в форме во время выполнения с помощью кода.
Документация по рабочему столу для .NET 7 и .NET 6 находится в стадии разработки.
Добавление с помощью конструктора
Для создания форм в Visual Studio используется конструктор форм. На панели «Элементы управления» представлен список всех элементов управления, доступных для приложения. Элементы управления можно добавлять с панели двумя способами:
Добавление элемента управления двойным щелчком
При двойном щелчке элемента управления он автоматически добавляется в текущую открытую форму с параметрами по умолчанию.
Добавление элемента управления путем рисования
Выберите элемент управления, щелкнув его. В форме выберите область путем перетаскивания указателя мыши. Элемент управления будет помещен в соответствии с размером выбранного региона.
Добавление с помощью кода
Элементы управления можно создавать и добавлять в форму во время выполнения с помощью коллекции Controls формы. Эту коллекцию можно также использовать для удаления элементов управления из формы.
Следующий код добавляет и размещает два элемента управления, Label и TextBox:
Label label1 = new Label() < Text = "&First Name", Location = new Point(10, 10), TabIndex = 10 >; TextBox field1 = new TextBox() < Location = new Point(label1.Location.X, label1.Bounds.Bottom + Padding.Top), TabIndex = 11 >; Controls.Add(label1); Controls.Add(field1);
Dim label1 As New Label With Dim field1 As New TextBox With Controls.Add(label1) Controls.Add(field1)
См. также
- Установка текста, отображаемого элементом управления Windows Forms
- Добавление сочетания клавиш доступа для элемента управления
- System.Windows.Forms.Label
- System.Windows.Forms.TextBox
- System.Windows.Forms.Button
Совместная работа с нами на GitHub
Источник этого содержимого можно найти на GitHub, где также можно создавать и просматривать проблемы и запросы на вытягивание. Дополнительные сведения см. в нашем руководстве для участников.
.NET Desktop feedback
The .NET Desktop documentation is open source. Provide feedback here.
Обратная связь
Отправить и просмотреть отзыв по
Создание пользовательского элемента управления платформа .NET Framework Windows Forms с поддержкой простой привязки данных
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code ![]()
Наборы данных и связанные классы являются устаревшими технологиями платформа .NET Framework с начала 2000-х годов, которые позволяют приложениям работать с данными в памяти во время отключения приложений от базы данных. Они особенно полезны для приложений, которые позволяют пользователям изменять данные и сохранять изменения обратно в базу данных. Хотя наборы данных оказались очень успешными, мы рекомендуем новым приложениям .NET использовать Entity Framework Core. Entity Framework предоставляет более естественный способ работы с табличными данными в виде объектных моделей, и он имеет более простой интерфейс программирования.
При отображении данных на формах в приложениях Windows вы можете выбрать имеющиеся элементы управления в области элементов или создать пользовательские элементы управления, если вашему приложению требуется функциональность, отсутствующая в стандартных элементах управления. В этом пошаговом руководстве демонстрируется создание элемента управления, реализующего DefaultBindingPropertyAttribute. Элементы управления, реализующие DefaultBindingPropertyAttribute, могут содержать одно свойство, которое можно привязать к данным. Такие элементы управления похожи на TextBox или CheckBox.
Дополнительные сведения о разработке элементов управления см. в статье «Разработка элементов управления Windows Forms во время разработки».
При создании элементов управления для использования в сценариях привязки данных следует реализовать один из следующих атрибутов привязки данных:
| Использование атрибута привязки данных |
|---|
| Реализуйте DefaultBindingPropertyAttribute на простых элементах управления, таких как TextBox, которые отображают отдельный столбец (или свойство) данных. (Этот процесс описан в данном пошаговом руководстве.) |
| Реализуйте ComplexBindingPropertiesAttribute на элементах управления, таких как DataGridView, которые отображают списки (или таблицы) данных. Дополнительные сведения см. в статье «Создание пользовательского элемента управления Windows Forms» с поддержкой сложной привязки данных. |
| Реализуйте LookupBindingPropertiesAttribute на элементах управления, таких как ComboBox, которые отображают списки (или таблицы) данных, но также должны представлять отдельный столбец или отдельное свойство. Дополнительные сведения см. в статье «Создание пользовательского элемента управления Windows Forms» с поддержкой привязки данных подстановки. |
В этом пошаговом руководстве создается простой элемент управления, отображающий данные из одного столбца в таблице. В данном примере используется столбец Phone таблицы Customers из учебной базы данных «Борей». Простой пользовательский элемент управления отображает номера телефонов клиентов в стандартном формате номера телефона, используя MaskedTextBox и установив маску на номер телефона.
В этом пошаговом руководстве описаны следующие процедуры.
- Создание приложения Windows Forms.
- Добавление нового пользовательского элемента управления в проект.
- Визуальное проектирование пользовательского элемента управления.
- Реализация атрибута DefaultBindingProperty .
- Создайте набор данных с помощью мастера настройки источника данных.
- Настройка столбца Phone в окне Источники данных для использования нового элемента управления.
- Создание формы для отображения данных в новом элементе управления.
Необходимые компоненты
В этом пошаговом руководстве используется SQL Server Express LocalDB и пример базы данных Northwind.
- Если у вас нет SQL Server Express LocalDB, установите его на странице скачивания SQL Server Express или с помощью Установщика Visual Studio. В установщике Visual Studio можно установить SQL Server Express LocalDB как часть рабочей нагрузки хранилища данных и обработки или как отдельный компонент.
- Установите пример базы данных Northwind, выполнив следующие действия.
- В Visual Studio откройте окно обозреватель объектов SQL Server. (SQL Server обозреватель объектов устанавливается как часть рабочей нагрузки хранилища данных и обработки в Visual Studio Installer.) Разверните узел SQL Server. Щелкните правой кнопкой мыши экземпляр LocalDB и выберите новый запрос. Откроется окно редактора запросов.
- Скопируйте скрипт Northwind Transact-SQL в буфер обмена. Этот скрипт T-SQL создает базу данных Northwind с нуля и заполняет ее данными.
- Вставьте скрипт T-SQL в редактор запросов и нажмите кнопку «Выполнить «. Через некоторое время запрос завершает работу и создается база данных Northwind.
Создание приложения Windows Forms
Первым шагом является создание приложения Windows Forms:
- В Visual Studio в меню Файл выберите пункты Создать>Проект.
- Разверните Visual C# или Visual Basic в левой области, а затем выберите «Рабочий стол Windows».
- В средней области выберите тип проекта приложения Windows Forms.
- Назовите проект SimpleControlWalkthrough и нажмите кнопку «ОК«. Создается проект SimpleControlWalkthrough, который добавляется в Обозреватель решений.
Добавление пользовательского элемента управления в проект
В этом пошаговом руководстве создается простой элемент управления с привязкой к данным из пользовательского элемента управления. Добавьте элемент пользовательского элемента управления в проект SimpleControlWalkthrough :
- В меню Проект выберите пункт Добавить пользовательский элемент управления.
- Введите PhoneNumberBox в области «Имя» и нажмите кнопку Добавить. Элемент управления PhoneNumberBox добавляется в Обозреватель решений и открывается в конструкторе.
Проектирование элемента управления Телефон NumberBox
В этом пошаговом руководстве показано, MaskedTextBox как создать элемент управления Телефон NumberBox:
- Перетащите MaskedTextBox из области элементов на рабочую область конструирования пользовательского элемента управления.
- Выберите смарт-тег на только что перетащенном MaskedTextBox и выберите Установка маски.
- Выберите Номер телефона в диалоговом окне Маска ввода и нажмите кнопку ОК для задания маски.
Добавление необходимого атрибута привязки данных
Для простых элементов управления, поддерживающих привязку к данным, реализуйте DefaultBindingPropertyAttribute:
- Переключите элемент управления Телефон NumberBox в представление кода. (В меню Вид выберите Код.)
- Замените код в Телефон NumberBox следующим образом:
using System.Windows.Forms; namespace CS < [System.ComponentModel.DefaultBindingProperty("PhoneNumber")] public partial class PhoneNumberBox : UserControl < public string PhoneNumber < get< return maskedTextBox1.Text; >set < maskedTextBox1.Text = value; >> public PhoneNumberBox() < InitializeComponent(); >> >Public Class PhoneNumberBox Public Property PhoneNumber() As String Get Return MaskedTextBox1.Text End Get Set(ByVal value As String) MaskedTextBox1.Text = value End Set End Property End ClassСоздание источника данных из базы данных
В этом шаге Мастер настройки источника данных используется для создания источника данных на основе таблицы Customers в учебной базе данных «Борей». Для создания подключения необходимо иметь доступ к учебной базе данных «Борей». Сведения о настройке образца базы данных Northwind см. в статье «Практическое руководство. Установка примеров баз данных».
- Чтобы открыть окно «Источники данных» , в меню «Данные » щелкните » Показать источники данных».
- В окне Источники данных выберите Добавить новый источник данных, чтобы запустить Мастер настройки источника данных.
- На странице Выбор типа источника данных выберите База данных и нажмите кнопку Далее.
- На странице Выбор подключения к базе данных выполните одно из следующих действий:
- Если подключение к учебной базе данных Northwind доступно в раскрывающемся списке, то выберите его.
- Выберите Новое подключение для открытия диалогового окна Добавить/изменить подключение.
- Если базе данных требуется пароль, выберите параметр для включения конфиденциальных данных и нажмите кнопку Далее.
- На странице «Сохранить строка подключения в файл конфигурации приложения» нажмите кнопку «Далее«.
- Разверните узел Таблицы на странице Выбор объектов базы данных.
- Выберите таблицу Customers и нажмите кнопку Готово. Объект NorthwindDataSet добавляется в проект, и таблица Customers отображается в окне Источники данных.
Настройка столбца телефона для использования элемента управления Телефон NumberBox
Вы можете задать создаваемый элемент управления в окне Источники данных перед перетаскиванием элементов на форму.
- Откройте Form1 в конструкторе.
- Разверните узел Customers в окне Источники данных.
- Щелкните стрелку раскрывающегося списка в узле Customers и выберите Сведения в списке элементов управления.
- Щелкните стрелку раскрывающегося списка в столбце Phone и выберите Настроить.
- Выберите PhoneNumberBox в списке Связанные элементы управления диалогового окна Настройка данных интерфейса пользователя.
- Щелкните стрелку раскрывающегося списка в столбце Phone и выберите PhoneNumberBox.
Добавление элементов управления на форму
Вы можете создавать элементы управления с привязкой к данным с помощью перетаскивания элементов из окна Источники данных на форму.
Чтобы создать элементы управления с привязкой к данным в форме, перетащите основной узел Customers из окна источников данных в форму и убедитесь, что элемент управления Телефон NumberBox используется для отображения данных в столбце Телефон.
Привязанные к данным элементы управления с метками описания отображаются на форме вместе с панелью инструментов (BindingNavigator) для перемещения по записям. В области компонентов появляется NorthwindDataSet, CustomersTableAdapter, BindingSource и BindingNavigator.
Выполнение приложения
Нажмите клавишу F5 для запуска приложения.
Следующие шаги
В зависимости от требований приложения существуют несколько шагов, которые, возможно, потребуется выполнить после создания элемента управления, поддерживающего привязку к данным. Некоторые типичные дальнейшие действия.
- Помещение пользовательских элементов управления в библиотеку элементов управления, чтобы их можно было повторно использовать в других приложениях.
- Создание элементов управления, поддерживающих более сложных сценариев привязки к данным. Дополнительные сведения см. в разделе «Создание пользовательского элемента управления Windows Forms» с поддержкой сложной привязки данных и создания пользовательского элемента управления Windows Forms, поддерживающего привязку данных подстановки.
См. также
- Привязка элементов управления Windows Forms к данным в Visual Studio
- Задание поведения, при котором элемент управления создается при перетаскивании из окна «Источники данных»
Создание элемента управления панели элементов Windows Forms
Область применения:
Visual Studio Visual Studio для Mac
Visual Studio Code 
Шаблон элемента управления панелью элементов Windows Forms, включенный в средства расширяемости Visual Studio (VS SDK), позволяет создать элемент управления панели элементов , который автоматически добавляется при установке расширения. В этом пошаговом руководстве показано, как использовать шаблон для создания простого элемента управления счетчиком, который можно распространять другим пользователям.
Создание элемента управления панели элементов
Шаблон элемента управления панелью элементов Windows Forms создает неопределенный пользовательский элемент управления и предоставляет все функциональные возможности, необходимые для добавления элемента управления в панель элементов.
Создание расширения с помощью элемента управления панели элементов Windows Forms
- Создайте проект VSIX с именем MyWinFormsControl . Шаблон проекта VSIX можно найти в диалоговом окне «Новый проект «, выполнив поиск vsix.
- Когда откроется проект, добавьте шаблон элемента управления панелью элементов Windows Forms с именем Counter . Щелкните правой кнопкой мыши узел проекта в Обозревателе решений, а затем выберите Добавить>Новый элемент. В диалоговом окне «Добавление нового элемента» перейдите в Visual C# >Extensibility и выберите элемент управления панелью элементов Windows Forms
- При этом добавляется пользовательский элемент управления, ProvideToolboxControlAttribute RegistrationAttribute а также элемент управления на панели элементов и запись ресурса Microsoft.VisualStudio.ToolboxControl в манифесте VSIX для развертывания.
Создание пользовательского интерфейса для элемента управления
Для Counter элемента управления требуется два дочерних элемента управления: Label для отображения текущего числа, а Button также для сброса счетчика до 0. Другие дочерние элементы управления не требуются, так как вызывающие элементы будут увеличивать счетчик программным образом.
Создание пользовательского интерфейса
- В Обозреватель решений дважды щелкните Counter.cs, чтобы открыть его в конструкторе.
- Удалите кнопку «Нажать здесь ! «, включенную по умолчанию при добавлении шаблона элемента управления панелью элементов Windows Forms.
- На панели элементов перетащите Label элемент управления, а затем Button под ним в область конструктора.
- Измените размер общего пользовательского элемента управления на 150, 50 пикселей и измените размер элемента управления кнопки на 50, 20 пикселей.
- В окне «Свойства» задайте следующие значения для элементов управления в области конструктора.
Элемент управления Свойство значение Label1 Текст «» Button1 Имя btnReset Button1 Текст Reset
Код пользовательского элемента управления
Элемент Counter управления предоставляет метод для увеличения счетчика, событие, которое будет вызываться при добавочном добавлении счетчика, кнопке сброса и трех свойствах для хранения текущего счетчика, отображаемого текста и отображения или скрытия кнопки сброса . Атрибут ProvideToolboxControl определяет место на панели элементов , в котором будет отображаться элемент управления Counter .
Код пользовательского элемента управления
- Дважды щелкните форму, чтобы открыть обработчик событий загрузки в окне кода.
- Над методом обработчика событий в классе элемента управления создайте целое число для хранения значения счетчика и строки для хранения отображаемого текста, как показано в следующем примере.
int currentValue; string displayText;public int Value < get < return currentValue; >> public string Message < get < return displayText; >set < displayText = value; >> public bool ShowReset < get < return btnReset.Visible; >set < btnReset.Visible = value; >>private void Counter_Load(object sender, EventArgs e)
public void Increment()
public event EventHandler Incremented;private void btnReset_Click(object sender, EventArgs e)
[ProvideToolboxControl("General", false)] public partial class Counter : UserControlТестирование элемента управления
Чтобы протестировать элемент управления панели элементов , сначала протестируйте его в среде разработки, а затем протестируйте его в скомпилированном приложении.
Тестирование элемента управления
- Нажмите клавишу F5 , чтобы начать отладку. Эта команда создает проект и открывает второй экспериментальный экземпляр Visual Studio с установленным элементом управления.
- В экспериментальном экземпляре Visual Studio создайте проект приложения Windows Forms.
- В Обозреватель решений дважды щелкните Form1.cs, чтобы открыть его в конструкторе, если он еще не открыт.
- На панели элементов элемент Counter управления должен отображаться в разделе «Общие«.
- Перетащите элемент управления в Counter форму и выберите его. Свойства Value и ShowReset свойства будут отображаться в окне «Свойства» вместе со свойствами, унаследованными от UserControl. Message
- Установите свойство Message в значение Count: .
- Перетащите Button элемент управления в форму, а затем задайте свойства имени и текста кнопки Test .
- Дважды щелкните кнопку, чтобы открыть Form1.cs в представлении кода и создать обработчик щелчка.
- В обработчике щелчка вызовите counter1.Increment() .
- В функции конструктора после вызова InitializeComponent введите counter1«.«Incremented += и дважды нажмите клавишу TAB . Visual Studio создает обработчик уровня формы для counter1.Incremented события.
- Выделите инструкцию Throw в обработчике событий, введите mbox и дважды нажмите клавишу TAB , чтобы создать поле сообщения из фрагмента кода mbox.
- В следующей строке добавьте следующий if / else блок, чтобы задать видимость кнопки сброса .
if (counter1.Value < 5) counter1.ShowReset = false; else counter1.ShowReset = true;Следующие шаги
При создании элемента управления панели элементов Visual Studio создает файл с именем Имя_проекта.vsix в папке \bin\debug\ проекта. Вы можете развернуть элемент управления, отправив VSIX-файл в сеть или на веб-сайт. Когда пользователь открывает VSIX-файл, элемент управления устанавливается и добавляется на панель элементов Visual Studio на компьютере пользователя. Кроме того, можно отправить VSIX-файл в Visual Studio Marketplace, чтобы пользователи могли его найти, перейдя в диалоговое окно "Расширения инструментов >" и Обновления.
См. также
- Расширение других частей Visual Studio
- Создание элемента управления панели элементов WPF
- Расширение других частей Visual Studio
- Основы разработки элементов управления Windows Forms
