Поделиться через


Практическое руководство. Добавление кнопок загрузки, сохранения и отмены в элемент управления BindingNavigator в формах Windows Forms

Элемент управления BindingNavigator — это специальный элемент управления ToolStrip, предназначенный для навигации и управления элементами управления в форме, привязанной к данным.

Так как это элемент управления ToolStrip, компонент BindingNavigator можно легко изменить, чтобы включить дополнительные или альтернативные команды для пользователя.

В следующей процедуре элемент управления TextBox привязан к данным, а элемент управления ToolStrip, добавленный в форму, изменяется для включения кнопок загрузки, сохранения и отмены.

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

  1. В Visual Studio добавьте элемент управления TextBox в форму.

  2. Привяжите его к объекту BindingSource, который привязан к источнику данных. В этом примере BindingSource привязан к базе данных.

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

  4. Задайте для свойства BindingSource элемента управления BindingNavigator значение BindingSource формы, привязанной к элементам управления.

  5. Выберите элемент управления BindingNavigator.

  6. Щелкните глиф действий конструктора (Small black arrow), чтобы откроется диалоговое окно "Задачи BindingNavigator" и выберите "Изменить элементы".

    Откроется редактор коллекции элементов.

  7. В редакторе коллекций элементов выполните следующие действия:

    1. Добавьте ToolStripSeparator и три элемента ToolStripButton, выбрав соответствующий тип ToolStripItem и нажав кнопку Добавить.

    2. Задайте для свойства Name кнопок значения LoadButton, SaveButton и CancelButton соответственно.

    3. Задайте для свойства Text кнопок значения Load (Загрузка), Save (Сохранить) и Cancel (Отмена).

    4. Присвойте свойству DisplayStyle каждой кнопки значение Text. Кроме того, можно задать для этого свойства значение Image или ImageAndText и задать изображение, которое будет отображаться в свойстве Image.

    5. Чтобы закрыть диалоговое окно, нажмите кнопку ОК . Кнопки добавляются в ToolStrip.

  8. Щелкните в форме правой кнопкой мыши и выберите Просмотреть код.

  9. В редакторе кода найдите строку кода, которая загружает данные в адаптер таблицы. Этот код был создан при настройке привязки данных на шаге 2. Код должен быть аналогичен следующему: TableAdapterName.Fill(DataSetName.TableName). Скорее всего, это будет в событии Load формы.

  10. Создайте обработчик событий для события Click элемента управления ToolStripButtonLoad, созданного ранее, и переместите в него код загрузки данных.

    Код должен выглядеть примерно следующим образом:

    Private Sub LoadButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LoadButton.Click
        TableAdapterName.Fill(DataSetName.TableName)
    End Sub
    
    private void LoadButton_Click(System.Object sender,
        System.EventArgs e)
    {
        TableAdapterName.Fill(DataSetName.TableName);
    }
    
  11. Создайте обработчик событий для события Click элемента управления ToolStripButtonSave, созданного ранее, и напишите код для обновления данных в таблице, к которой привязан элемент управления.

    Private Sub SaveButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles SaveButton.Click
        TableAdapterName.Update(DataSetName.TableName)
    End Sub
    
    private void SaveButton_Click(System.Object sender,
        System.EventArgs e)
    {
        TableAdapterName.Update(DataSetName.TableName);
    }
    

    Примечание.

    В некоторых случаях у компонента BindingNavigator уже есть кнопка Save, но конструктор Windows Forms не создавал код. В этом случае можно поместить предыдущий код в обработчик событий Click для этой кнопки, а не создавать совершенно новую кнопку в ToolStrip. Однако кнопка отключена по умолчанию, поэтому необходимо задать для свойства Enabled кнопки значение true, чтобы она правильно работала.

  12. Создайте обработчик событий для события Click элемента управления ToolStripButtonCancel, созданного ранее, и напишите код, чтобы отменить любые изменения отображаемой записи данных.

    Private Sub CancelButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles CancelButton.Click
        BindingSourceName.CancelEdit()
    End Sub
    
    private void CancelButton_Click(System.Object sender, System.EventArgs e)
    {
        BindingSourceName.CancelEdit();
    }
    

    Примечание.

    Метод CancelEdit ограничен строкой данных. Сохраните все изменения, внесенные при просмотре этой отдельной записи, прежде чем переходить к следующей записи.

См. также