BindToIListCollections

This application illustrates how a control's properties can be bound to a variety of collections that implement the IList interface.

The app's main form defines a TabPages collection, a SqlParameters collection, and a MenuItems collection, besides having the obligatory Form Controls collection.   Although these collections are not normally used as data sources for data bindings, they do implement IList, and therefore qualify to play that role.   Each collection, when passed to the form's BindingContext object, causes the BindingContext to return a CurrencyManager; and each can serve as the data source for a bound control, as they do on this form for the txtBound TextBox control.

Note also that the CurrencyManagers for the various data source retain their position property setting even as the TextBox's bindings are changed.  If, for example, you bind the TextBox to the TabPages collection, navigate to the second member, then bind to the MenuItems collection, then again bind to the TabPages collection, you will see that your position in the latter has been retained.
