- Создание пользовательского элемента управления Windows Forms с простой привязкой данных Create a Windows Forms user control that supports simple data binding
- Предварительные требования Prerequisites
- Создание приложения Windows Forms Create a Windows Forms Application
- Добавление пользовательского элемента управления в проект Add a user control to the project
- Разработка элемента управления Фоненумбербокс Design the PhoneNumberBox control
- Добавление требуемого атрибута привязки данных Add the required data-binding attribute
- Создание источника данных из базы данных Create a data source from your database
- Настройка столбца Phone для использования элемента управления Фоненумбербокс Set the phone column to use the PhoneNumberBox control
- Добавление элементов управления на форму Add controls to the form
- Выполнение приложения Run the application
- Дальнейшие действия Next steps
Создание пользовательского элемента управления Windows Forms с простой привязкой данных Create a Windows Forms user control that supports simple data binding
При отображении данных на формах в приложениях Windows вы можете выбрать имеющиеся элементы управления в области элементов или создать пользовательские элементы управления, если вашему приложению требуется функциональность, отсутствующая в стандартных элементах управления. When displaying data on forms in Windows applications, you can choose existing controls from the Toolbox, or you can author custom controls if your application requires functionality that is not available in the standard controls. В этом пошаговом руководстве демонстрируется создание элемента управления, реализующего DefaultBindingPropertyAttribute. This walkthrough shows how to create a control that implements the DefaultBindingPropertyAttribute. Элементы управления, реализующие DefaultBindingPropertyAttribute, могут содержать одно свойство, которое можно привязать к данным. Controls that implement the DefaultBindingPropertyAttribute can contain one property that can be bound to data. Такие элементы управления похожи на TextBox или CheckBox. Such controls are similar to a TextBox or CheckBox.
Дополнительные сведения о создании элементов управления см. в разделе разработка Windows Forms элементов управления во время разработки. For more information on control authoring, see Developing Windows Forms Controls at Design Time.
При разработке элементов управления для использования в сценариях привязки данных необходимо реализовать один из следующих атрибутов привязки данных: When authoring controls for use in data-binding scenarios, you should implement one of the following data-binding attributes:
Использование атрибутов привязки данных Data-binding attribute usage |
---|
Реализуйте DefaultBindingPropertyAttribute на простых элементах управления, таких как TextBox, которые отображают отдельный столбец (или свойство) данных. Implement the DefaultBindingPropertyAttribute on simple controls, like a TextBox, that display a single column (or property) of data. (Этот процесс описан в данном пошаговом руководстве.) (This process is described in this walkthrough page.) |
Реализуйте ComplexBindingPropertiesAttribute на элементах управления, таких как DataGridView, которые отображают списки (или таблицы) данных. Implement the ComplexBindingPropertiesAttribute on controls, like a DataGridView, that display lists (or tables) of data. Дополнительные сведения см. в разделе создание Windows Forms пользовательского элемента управления, поддерживающего сложную привязку данных. For more information, see Create a Windows Forms user control that supports complex data binding. |
Реализуйте LookupBindingPropertiesAttribute на элементах управления, таких как ComboBox, которые отображают списки (или таблицы) данных, но также должны представлять отдельный столбец или отдельное свойство. Implement the LookupBindingPropertiesAttribute on controls, like a ComboBox, that display lists (or tables) of data but also need to present a single column or property. Дополнительные сведения см. в разделе создание Windows Forms пользовательского элемента управления, поддерживающего привязку данных подстановки. For more information, see Create a Windows Forms user control that supports lookup data binding. |
В этом пошаговом руководстве создается простой элемент управления, отображающий данные из одного столбца в таблице. This walkthrough creates a simple control that displays data from a single column in a table. В данном примере используется столбец Phone таблицы Customers из учебной базы данных «Борей». This example uses the Phone column of the Customers table from the Northwind sample database. Простой пользовательский элемент управления отображает номера телефонов клиентов в стандартном формате телефонных номеров, используя MaskedTextBox и задавая маску номер телефона. The simple user control displays customers’ phone numbers in a standard phone-number format, by using a MaskedTextBox and setting the mask to a phone number.
В этом пошаговом руководстве описаны следующие процедуры. During this walkthrough, you will learn how to:
Создайте новое приложение Windows Forms. Create a new Windows Forms Application.
Добавление нового пользовательского элемента управления в проект. Add a new User Control to your project.
Визуальное проектирование пользовательского элемента управления. Visually design the user control.
Реализация атрибута DefaultBindingProperty . Implement the DefaultBindingProperty attribute.
Создайте набор данных с помощью мастера настройки источника данных . Create a dataset with the Data Source Configuration wizard.
Настройка столбца Phone в окне Источники данных для использования нового элемента управления. Set the Phone column in the Data Sources window to use the new control.
Создание формы для отображения данных в новом элементе управления. Create a form to display data in the new control.
Предварительные требования Prerequisites
В этом пошаговом руководстве используется SQL Server Express LocalDB и образец базы данных Northwind. This walkthrough uses SQL Server Express LocalDB and the Northwind sample database.
Если у вас нет SQL Server Express LocalDB, установите его на странице загрузки SQL Server Expressили с помощью Visual Studio Installer. If you don’t have SQL Server Express LocalDB, install it either from the SQL Server Express download page, or through the Visual Studio Installer. В Visual Studio Installer можно установить SQL Server Express LocalDB как часть рабочей нагрузки хранения и обработки данных или как отдельный компонент. In the Visual Studio Installer, you can install SQL Server Express LocalDB as part of the Data storage and processing workload, or as an individual component.
Установите учебную базу данных Northwind, выполнив следующие действия. Install the Northwind sample database by following these steps:
В Visual Studio откройте окно Обозреватель объектов SQL Server . In Visual Studio, open the SQL Server Object Explorer window. (Обозреватель объектов SQL Server устанавливается как часть рабочей нагрузки хранения и обработки данных в Visual Studio Installer.) Разверните узел SQL Server . (SQL Server Object Explorer is installed as part of the Data storage and processing workload in the Visual Studio Installer.) Expand the SQL Server node. Щелкните правой кнопкой мыши экземпляр LocalDB и выберите создать запрос. Right-click on your LocalDB instance and select New Query.
Откроется окно редактора запросов. A query editor window opens.
Скопируйте скрипт Transact-SQL Northwind в буфер обмена. Copy the Northwind Transact-SQL script to your clipboard. Этот сценарий T-SQL создает базу данных Northwind с нуля и заполняет ее данными. This T-SQL script creates the Northwind database from scratch and populates it with data.
Вставьте скрипт T-SQL в редактор запросов, а затем нажмите кнопку выполнить . Paste the T-SQL script into the query editor, and then choose the Execute button.
По истечении короткого времени выполнение запроса завершается и создается база данных Northwind. After a short time, the query finishes running and the Northwind database is created.
Создание приложения Windows Forms Create a Windows Forms Application
Первым шагом является создание приложения Windows Forms: The first step is to create a Windows Forms Application:
В Visual Studio в меню Файл выберите пункты Создать > Проект. In Visual Studio, on the File menu, select New > Project.
В левой области разверните элемент Visual C# или Visual Basic , а затем выберите пункт Windows Desktop. Expand either Visual C# or Visual Basic in the left-hand pane, then select Windows Desktop.
В средней области выберите тип проекта приложения Windows Forms . In the middle pane, select the Windows Forms App project type.
Назовите проект симплеконтролвалксраугх и нажмите кнопку ОК. Name the project SimpleControlWalkthrough, and then choose OK.
Создается проект SimpleControlWalkthrough, который добавляется в Обозреватель решений. The SimpleControlWalkthrough project is created, and added to Solution Explorer.
Добавление пользовательского элемента управления в проект Add a user control to the project
В этом пошаговом руководстве создается простой элемент управления с возможностью привязки данных из пользовательского элемента управления. This walkthrough creates a simple data-bindable control from a User Control. Добавьте элемент пользовательского элемента управления в проект симплеконтролвалксраугх : Add a User Control item to the SimpleControlWalkthrough project:
В меню Проект выберите пункт Добавить пользовательский элемент управления. From the Project menu, choose Add User Control.
Введите PhoneNumberBox в области «Имя» и нажмите кнопку Добавить. Type PhoneNumberBox in the Name area, and click Add.
Элемент управления PhoneNumberBox добавляется в Обозреватель решений и открывается в конструкторе. The PhoneNumberBox control is added to Solution Explorer, and opens in the designer.
Разработка элемента управления Фоненумбербокс Design the PhoneNumberBox control
В этом пошаговом руководстве MaskedTextBox для создания элемента управления фоненумбербокс раскрывается существующий. This walkthrough expands upon the existing MaskedTextBox to create the PhoneNumberBox control:
Перетащите MaskedTextBox из области элементов на рабочую область конструирования пользовательского элемента управления. Drag a MaskedTextBox from the Toolbox onto the user control’s design surface.
Выберите смарт-тег на только что перетащенном MaskedTextBox и выберите Установка маски. Select the smart tag on the MaskedTextBox you just dragged, and choose Set Mask.
Выберите Номер телефона в диалоговом окне Маска ввода и нажмите кнопку ОК для задания маски. Select Phone number in the Input Mask dialog box, and click OK to set the mask.
Добавление требуемого атрибута привязки данных Add the required data-binding attribute
Для простых элементов управления, поддерживающих привязку к данным, реализуйте DefaultBindingPropertyAttribute: For simple controls that support databinding, implement the DefaultBindingPropertyAttribute:
Переключите элемент управления фоненумбербокс на представление кода. Switch the PhoneNumberBox control to code view. (В меню Вид выберите Код.) (On the View menu, choose Code.)
Замените код в фоненумбербокс следующим кодом: Replace the code in the PhoneNumberBox with the following:
В меню Построение выберите пункт Построить решение. From the Build menu, choose Build Solution.
Создание источника данных из базы данных Create a data source from your database
На этом шаге мастер настройки источника данных используется для создания источника данных на основе Customers таблицы в образце базы данных Northwind. This step uses the Data Source Configuration wizard to create a data source based on the Customers table in the Northwind sample database. Для создания подключения необходимо иметь доступ к учебной базе данных «Борей». You must have access to the Northwind sample database to create the connection. Сведения о настройке образца базы данных Northwind см. в разделе как установить образцы базданных. For information on setting up the Northwind sample database, see How to: Install sample databases.
Чтобы открыть окно Источники данных , в меню данные выберите команду отобразить источники данных. To open the Data Sources window, on the Data menu, click Show Data Sources.
В окне Источники данных выберите Добавить новый источник данных, чтобы запустить Мастер настройки источника данных. In the Data Sources window, select Add New Data Source to start the Data Source Configuration wizard.
На странице Выбор типа источника данных выберите База данных и нажмите кнопку Далее. On the Choose a Data Source Type page, select Database, and then click Next.
На странице Выбор подключения к данным выполните одно из следующих действий. On the Choose your Data Connection page, do one of the following:
Если подключение к учебной базе данных Northwind доступно в раскрывающемся списке, то выберите его. If a data connection to the Northwind sample database is available in the drop-down list, select it.
Выберите Новое подключение для открытия диалогового окна Добавить/изменить подключение. Select New Connection to launch the Add/Modify Connection dialog box.
Если базе данных требуется пароль, выберите параметр для включения конфиденциальных данных и нажмите кнопку Далее. If your database requires a password, select the option to include sensitive data, and then click Next.
На странице Сохранение подключения в файле конфигурации приложения нажмите кнопку Далее. On the Save connection string to the Application Configuration file page, click Next.
Разверните узел Таблицы на странице Выбор объектов базы данных. On the Choose your Database Objects page, expand the Tables node.
Выберите таблицу Customers и нажмите кнопку Готово. Select the Customers table, and then click Finish.
Параметр NorthwindDataSet добавляется в проект, а Customers таблица отображается в окне Источники данных . The NorthwindDataSet is added to your project, and the Customers table appears in the Data Sources window.
Настройка столбца Phone для использования элемента управления Фоненумбербокс Set the phone column to use the PhoneNumberBox control
В окне Источники данных можно задать создание элемента управления перед перетаскиванием элементов на форму: Within the Data Sources window, you can set the control to be created prior to dragging items onto your form:
Откройте Form1 в конструкторе. Open Form1 in the designer.
Разверните узел Customers в окне Источники данных. Expand the Customers node in the Data Sources window.
Щелкните стрелку раскрывающегося списка в узле Customers и выберите Сведения в списке элементов управления. Click the drop-down arrow on the Customers node, and choose Details from the control list.
Щелкните стрелку раскрывающегося списка в столбце Phone и выберите Настроить. Click the drop-down arrow on the Phone column, and choose Customize.
Выберите PhoneNumberBox в списке Связанные элементы управления диалогового окна Настройка данных интерфейса пользователя. Select the PhoneNumberBox from the list of Associated Controls in the Data UI Customization Options dialog box.
Щелкните стрелку раскрывающегося списка в столбце Phone и выберите PhoneNumberBox. Click the drop-down arrow on the Phone column, and choose PhoneNumberBox.
Добавление элементов управления на форму Add controls to the form
Вы можете создавать элементы управления с привязкой к данным с помощью перетаскивания элементов из окна Источники данных на форму. You can create the data-bound controls by dragging items from the Data Sources window onto the form.
Чтобы создать элементы управления с привязкой к данным в форме, перетащите главный узел Customers из окна Источники данных на форму и убедитесь, что элемент управления фоненумбербокс используется для вывода данных в столбце Phone . To create data-bound controls on the form, drag the main Customers node from the Data Sources window onto the form, and verify that the PhoneNumberBox control is used to display the data in the Phone column.
Привязанные к данным элементы управления с метками описания отображаются на форме вместе с панелью инструментов (BindingNavigator) для перемещения по записям. Data-bound controls with descriptive labels appear on the form, along with a tool strip (BindingNavigator) for navigating records. В области компонентов появляется NorthwindDataSet, CustomersTableAdapter, BindingSource и BindingNavigator. A NorthwindDataSet, CustomersTableAdapter, BindingSource, and BindingNavigator appear in the component tray.
Выполнение приложения Run the application
Нажмите клавишу F5 для запуска приложения. Press F5 to run the application.
Дальнейшие действия Next steps
В зависимости от требований приложения существуют несколько шагов, которые, возможно, потребуется выполнить после создания элемента управления, поддерживающего привязку к данным. Depending on your application requirements, there are several steps you may want to perform after creating a control that supports data binding. Некоторые типичные дальнейшие действия. Some typical next steps include:
Помещение пользовательских элементов управления в библиотеку элементов управления, чтобы их можно было повторно использовать в других приложениях. Placing your custom controls in a control library so you can reuse them in other applications.