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

 

Опубликовано: Апрель 2016

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

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

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

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

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

В этом пошаговом руководстве описаны следующие процедуры.

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

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

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

  • Реализация атрибута DefaultBindingProperty.

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

  • Настройка столбца Телефон в окне Источники данных на использование нового элемента управления.

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

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

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

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

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

Порядок создания нового проекта Windows

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

  2. Присвойте проекту имя SimpleControlWalkthrough.

  3. Выберите Приложение Windows и нажмите кнопку ОК. Для получения дополнительной информации см. Клиентские приложения.

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

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

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

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

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

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

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

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

В этом пошаговом руководстве расширяется существующий MaskedTextBox для создания элемента управления PhoneNumberBox.

Порядок проектирования элемента управления PhoneNumberBox

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

  2. Выберите смарт-тег на только что перетащенном MaskedTextBox и выберите Установка маски.

  3. Выберите Номер телефона в диалоговом окне Маска ввода и нажмите кнопку ОК для задания маски.

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

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

Реализация атрибута DefaultBindingProperty

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

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

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

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

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

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

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

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

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

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

    • Если подключение к учебной базе данных Northwind доступно в раскрывающемся списке, то выберите его.

      Или

    • Выберите Новое подключение для открытия диалогового окна Добавить/изменить подключение.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

См. также

Задание поведения, при котором элемент управления создается при перетаскивании из окна "Источники данных"
Привязка элементов управления Windows Forms к данным в Visual Studio
Общие сведения о приложениях для работы с данными в Visual Studio
Подключение к данным в Visual Studio
Подготовка приложения к получению данных
Выборка данных в приложение
Привязка элементов управления к данным в Visual Studio
Редактирование данных в приложении
Проверка данных
Сохранение данных