A BindingSource provides control of bound data on a form. It provides programmatic methods for navigating through the data, adding items, deleting items, and otherwise managing the data at the code level.
Typically you attach the BindingSource to a data source. You then bind controls to the BindingSource. When the BindingSource changes its position in the data source, it automatically updates the bound controls. If you attach a BindingNavigator to the BindingSource, then the user can use the Binding?Navigator to control the BindingSource.
See Chapter 11 for more information on BindingNavigator and other database controls.