如何:向 Windows 窗体 BindingNavigator 控件添加“加载”、“保存”和“取消”按钮

更新:2007 年 11 月

BindingNavigator 控件是一个具有特殊用途的 ToolStrip 控件,用于定位和操作窗体上绑定到数据的控件。

由于 BindingNavigator 组件是一个 ToolStrip 控件,因此可以轻松对其进行修改,加入供用户使用的附加或替代命令。

在下面的过程中,我们将 TextBox 控件绑定到数据,并对 ToolStrip 控件进行修改,在其中包括“加载”、“保存”和“取消”按钮。

向 BindingNavigator 组件添加“加载”、“保存”和“取消”按钮

  1. 向窗体中添加一个 TextBox 控件。

  2. 将其绑定到一个 BindingSource,后者绑定到了一个数据源。在此例中,BindingSource 绑定到数据库。

  3. 生成数据集和表适配器后,向窗体中拖一个 BindingNavigator 控件。

  4. BindingNavigator 控件的 BindingSource 属性设置为窗体上绑定到控件的 BindingSource

  5. 选择 BindingNavigator 控件。

  6. 单击智能标记符号 (智能标记标志符号),“BindingNavigator 任务”对话框将出现,选择“编辑项”。

    “项集合编辑器”出现。

  7. 在“项集合编辑器”中,完成下述操作:

    1. 通过选择相应类型的 ToolStripItem 并单击“添加”按钮来添加一个 ToolStripSeparator 和三个 ToolStripButton 项。

    2. 将按钮的 Name 属性分别设置为“LoadButton”、“SaveButton”和“CancelButton”。

    3. 将这些按钮的 Text 属性分别设置为“加载”、“保存”和“取消”。

    4. 将每个按钮的 DisplayStyle 属性设置为“Text”。也可将此属性设置为“Image”或“ImageAndText”,并设置要显示在 Image 属性中的图像。

    5. 单击“确定”关闭对话框。这些按钮将添加到 ToolStrip 上。

  8. 右击窗体并选择“查看代码”。

  9. 在“代码编辑器”中,找到将数据加载到表适配器的代码行。这些代码是在第 2 步设置数据绑定时生成的。代码形式如下:TableAdapterName.Fill(DataSetName.TableName)。此代码最有可能位于窗体的 Load 事件中。

  10. 为之前创建的“加载”ToolStripButtonClick 事件创建事件处理程序,并将此数据加载代码移入其中。

    代码看起来应类似于以下形式:

    [Visual Basic]

    Private Sub LoadButton_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles LoadButton.Click
        TableAdapterName.Fill(DataSetName.TableName)
    End Sub
    

    [C#]

    private void LoadButton_Click(System.Object sender, 
        System.EventArgs e)
    {
        TableAdapterName.Fill(DataSetName.TableName);
    }
    
  11. 为之前创建的“保存”ToolStripButtonClick 事件创建事件处理程序,并编写代码以更新该控件所绑定到的表中的数据。

    [Visual Basic]

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

    [C#]

    private void SaveButton_Click(System.Object sender, 
        System.EventArgs e)
    {
        TableAdapterName.Update(DataSetName.TableName);
    }
    
    说明:

    在某些情况下,BindingNavigator 组件会已有一个“保存”按钮,但 Windows 窗体设计器并没有生成代码。如果这样,可将前面的代码加入该按钮的 Click 事件处理程序中,而不是在 ToolStrip 上创建全新的按钮。不过,该按钮在默认情况下是禁用的,因此要使按钮正常工作,必须将其 Enabled 属性设置为 true。

  12. 为早先创建的“取消”ToolStripButtonClick 事件创建事件处理程序,并编写代码以取消对所显示数据记录所做的任何更改。

    [Visual Basic]

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

    [C#]

    private void CancelButton_Click(System.Object sender, System.EventArgs e)
    {
        BindingSourceName.CancelEdit();
    }
    
    说明:

    CancelEdit 方法按数据行起作用。在定位到下一记录前,保存您在查看该单一记录时所做的任何更改。

请参见

参考

BindingSource 组件概述

BindingNavigator

BindingSource

ToolStrip

其他资源

BindingNavigator 控件(Windows 窗体)