Пошаговое руководство. Создание пользовательского элемента управления Windows Forms с простой привязкой данных

При отображении данных на формах в приложениях Windows можно выбирать существующие элементы управления из Панели элементов или создавать собственные элементы управления, если приложение требует функциональных возможностей, недоступных в стандартных элементах управления.В данном пошаговом руководстве показано, как создать элемент управления, который реализует DefaultBindingPropertyAttribute.Элементы управления, которые реализуют DefaultBindingPropertyAttribute, могут содержать одно свойство, которое может быть связано с данными.Такие элементы управления похожи на TextBox или CheckBox.

Дополнительные сведения по разработке элементов управления содержатся в разделе Создание элементов управления Windows Forms во время разработки.

При разработке элементов управления для использования в сценариях привязки данных необходимо реализовать один из следующих атрибутов привязки:

Использование атрибута привязки данных

Реализуйте DefaultBindingPropertyAttribute на простых элементах управления, таких как TextBox, отображающих один столбец (или свойство) данных.(Этот процесс описан на данной странице пошагового руководства).

Реализуйте ComplexBindingPropertiesAttribute на элементах управления, таких как DataGridView, отображающих списки (таблицы) данных.Дополнительные сведения см. в разделе Пошаговое руководство. Создание пользовательского элемента управления Windows Forms со сложной привязкой данных.

Реализуйте LookupBindingPropertiesAttribute на элементах управления, таких как ComboBox, отображающих списки (или таблицы) данных, но также требующих представить один столбец или свойство.Дополнительные сведения см. в разделе Пошаговое руководство. Создание пользовательского элемента управления Windows Forms с подстановочной привязкой данных.

В этой процедуре создается простой элемент управления, который отображает данные из одного столбца в таблице.В этом пошаговом руководстве используется столбец Phone таблицы Customers из демонстрационной базы данных "Борей".Простой пользовательский элемент управления отображает номера телефонов клиентов в стандартном телефонном формате с помощью MaskedTextBox и устанавливает маску телефонного номера.

В процессе выполнения этого пошагового руководства вы научитесь:

  • Создайте новое приложение Windows.

  • Добавлять новый Пользовательский элемент управления в проект.

  • Разрабатывать визуальное представление пользовательского элемента управления.

  • Реализовывать атрибут DefaultBindingProperty.

  • Создавать набор данных с помощью мастер настройки источника данных.

  • Задайте столбец Phone в окне Источники данных с помощью нового элемента управления.

  • Создайте форму для отображения данных в новом элементе управления.

Обязательные компоненты

Для выполнения этого пошагового руководства потребуется следующее.

Создание приложения Windows

Первым шагом является создание Приложения Windows.

Чтобы создать новый проект Windows

  1. В Visual Studio из меню Файл создайте новый Проект.

  2. Назовите проект SimpleControlWalkthrough.

  3. Выберите Приложение Windows и нажмите кнопку OK.Дополнительные сведения см. в разделе Разработка клиентских приложений.

    Проект SimpleControlWalkthrough создается и добавляется в Обозреватель решений.

Добавление пользовательского элемента управления в проект

В этом пошаговом руководстве создается простой элемент управления с возможностью привязки к данным из Пользовательского элемента управления, поэтому добавьте Пользовательский элемент управления в проект SimpleControlWalkthrough.

Для добавления пользовательского элемента управления в проект:

  1. В меню Проект выберите Добавить пользовательский элемент управления.

  2. Введите PhoneNumberBox в области "Имя" и нажмите кнопку Добавить.

    Элемент управления PhoneNumberBox добавится в Обозреватель решений и откроется в конструкторе.

Разработка элемента управления PhoneNumberBox

Этот пример расширяет MaskedTextBox для создания элемента управления PhoneNumberBox.

Для разработки элемента управления PhoneNumberBox

  1. Перетащите MaskedTextBox из Панели элементов на поверхность разработки пользовательского элемента управления.

  2. Выберите смарт-тег на MaskedTextBox и выберите Задать маску.

  3. Выберите Телефонный номер в диалоговом окне Маска ввода и нажмите кнопку OK, чтобы задать маску.

Добавление обязательного атрибута привязки данных

Для простых элементов управления, которые поддерживают привязку данных, реализуют DefaultBindingPropertyAttribute.

Чтобы реализовать атрибут DefaultBindingProperty:

  1. Переключите элемент PhoneNumberBox в режим просмотра кода.(В меню Вид выберите команду Код.)

  2. Замените код в PhoneNumberBox следующим кодом:

    <System.ComponentModel.DefaultBindingProperty("PhoneNumber")>
    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
    
    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();
            }
        }
    }
    
  3. В меню Построение выберите пункт Построить решение.

Создание источника данных из вашей базы данных

На этом шаге с помощью Мастера настройки источника данных создается источник данных на основе таблицы Customers в учебной базе данных Northwind.Для создания подключения необходимо иметь доступ к демонстрационной базе данных Northwind.Сведения о настройке учебной базы данных Northwind см. в разделе Практическое руководство. Установка образцов баз данных.

Создание источника данных

  1. В меню Данные выберите пункт Показать источники данных.

  2. Чтобы запустить Мастер настройки источника данных, выберите элемент Добавить новый источник данных в окне Источники данных.

  3. На странице Выбор типа источника данных выберите элемент База данных и нажмите Далее.

  4. На странице Выбор подключения базы данных выполните одно из следующих действий:

  5. Если базе данных требуется пароль, выберите параметр для включения конфиденциальных данных и щелкните Далее.

  6. Щелкните Далее на странице Сохранение подключения в файле конфигурации приложения.

  7. Разверните узел Таблицы на странице Выбор объектов базы данных.

  8. Выберите таблицу Customers и нажмите кнопку Готово.

    NorthwindDataSet добавляется к проекту, и таблица Customers отображается в окне Источники данных.

Настройка столбца Phone для использования элемента управления PhoneNumberBox

В окне Источники данных можно задать элемент управления, создаваемый до перетаскивания элементов на форму.

Чтобы задать столбец телефона для привязки к элементу управления PhoneNumberBox:

  1. Откройте форму Form1 в конструкторе.

  2. Разверните узел Customers в окне Источники данных.

  3. Щелкните стрелку раскрывающегося списка на узле Customers и выберите из списка Cведения.

  4. Щелкните стрелку раскрывающегося списка в столбце Phone и выберите Настройка.

  5. Выберите PhoneNumberBox из списка Связанные элементы управления в диалоговом окне Параметры настройки пользовательского интерфейса данных.

  6. Щелкните стрелку раскрывающегося списка в столбце Phone и выберите PhoneNumberBox.

Добавление элементов управления в форму

Вы можете создавать элементы управления с привязкой к данным, перетаскивая элементы из окна Источники данных на форму.

Чтобы создать элементы управления с привязкой к данным на форме:

  • Перетащите основной узел Customers из окна Источники данных на форму и убедитесь, что элемент управления PhoneNumberBox используется для отображения данных столбца Phone.

    Элементы управления с привязкой к данным с подписями описания появятся на форме вместе с панелью инструментов (BindingNavigator) для управления записями.NorthwindDataSet, CustomersTableAdapter, BindingSource и BindingNavigator появляются в области компонента.

Запуск приложения

Запуск приложения

  • Нажмите клавишу F5 для запуска приложения.

Следующие действия

В зависимости от требований приложения существуют несколько шагов, которые, возможно, потребуется выполнить после создания элемента управления с привязкой к данным.Типичные последующие шаги могут включать:

См. также

Задачи

Практическое руководство. Установка элемента управления, создаваемого при перетаскивании из окна "Источники данных"

Основные понятия

Привязка элементов управления Windows Forms к данным в Visual Studio

Подготовка приложения к получению данных

Выборка данных в приложение

Привязка элементов управления к данным в Visual Studio

Редактирование данных в приложении

Проверка данных

Сохранение данных

Другие ресурсы

Общие сведения о приложениях для работы с данными в Visual Studio

Подключение к данным в Visual Studio