This topic has not yet been rated - Rate this topic

CurrencyManager Class

Manages a list of Binding objects.

System.Object
  System.Windows.Forms.BindingManagerBase
    System.Windows.Forms.CurrencyManager

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)
public class CurrencyManager : BindingManagerBase

The CurrencyManager type exposes the following members.

  Name Description
Public property Bindings Gets the collection of bindings being managed. (Inherited from BindingManagerBase.)
Public property Count Gets the number of items in the list. (Overrides BindingManagerBase.Count.)
Public property Current Gets the current item in the list. (Overrides BindingManagerBase.Current.)
Public property IsBindingSuspended Gets a value indicating whether binding is suspended. (Inherited from BindingManagerBase.)
Public property List Gets the list for this CurrencyManager.
Public property Position Gets or sets the position you are at within the list. (Overrides BindingManagerBase.Position.)
Top
  Name Description
Public method AddNew Adds a new item to the underlying list. (Overrides BindingManagerBase.AddNew().)
Public method CancelCurrentEdit Cancels the current edit operation. (Overrides BindingManagerBase.CancelCurrentEdit().)
Protected method CheckEmpty Infrastructure. Throws an exception if there is no list, or the list is empty.
Public method EndCurrentEdit Ends the current edit operation. (Overrides BindingManagerBase.EndCurrentEdit().)
Public method Equals(Object) Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected method Finalize Allows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public method GetHashCode Serves as a hash function for a particular type. (Inherited from Object.)
Public method GetItemProperties() Gets the property descriptor collection for the underlying list. (Overrides BindingManagerBase.GetItemProperties().)
Protected method GetItemProperties(ArrayList, ArrayList) Gets the collection of property descriptors for the binding using the specified ArrayList. (Inherited from BindingManagerBase.)
Protected method GetItemProperties(Type, Int32, ArrayList, ArrayList) Gets the list of properties of the items managed by this BindingManagerBase. (Inherited from BindingManagerBase.)
Protected method GetListName Gets the name of the list supplying the data for the binding using the specified set of bound properties. (Overrides BindingManagerBase.GetListName(ArrayList).)
Public method GetType Gets the Type of the current instance. (Inherited from Object.)
Protected method MemberwiseClone Creates a shallow copy of the current Object. (Inherited from Object.)
Protected method OnBindingComplete Raises the BindingComplete event. (Inherited from BindingManagerBase.)
Protected method OnCurrentChanged Raises the CurrentChanged event. (Overrides BindingManagerBase.OnCurrentChanged(EventArgs).)
Protected method OnCurrentItemChanged Raises the CurrentItemChanged event. (Overrides BindingManagerBase.OnCurrentItemChanged(EventArgs).)
Protected method OnDataError Raises the DataError event. (Inherited from BindingManagerBase.)
Protected method OnItemChanged Raises the ItemChanged event.
Protected method OnMetaDataChanged Raises the MetaDataChanged event.
Protected method OnPositionChanged Raises the PositionChanged event.
Protected method PullData Pulls data from the data-bound control into the data source, returning no information. (Inherited from BindingManagerBase.)
Protected method PushData Pushes data from the data source into the data-bound control, returning no information. (Inherited from BindingManagerBase.)
Public method Refresh Forces a repopulation of the data-bound list.
Public method RemoveAt Removes the item at the specified index. (Overrides BindingManagerBase.RemoveAt(Int32).)
Public method ResumeBinding Resumes data binding. (Overrides BindingManagerBase.ResumeBinding().)
Public method SuspendBinding Suspends data binding to prevents changes from updating the bound data source. (Overrides BindingManagerBase.SuspendBinding().)
Public method ToString Returns a string that represents the current object. (Inherited from Object.)
Protected method UpdateIsBinding Infrastructure. Updates the status of the binding. (Overrides BindingManagerBase.UpdateIsBinding().)
Top
  Name Description
Public event BindingComplete Occurs at the completion of a data-binding operation. (Inherited from BindingManagerBase.)
Public event CurrentChanged Occurs when the currently bound item changes. (Inherited from BindingManagerBase.)
Public event CurrentItemChanged Occurs when the state of the currently bound item changes. (Inherited from BindingManagerBase.)
Public event DataError Occurs when an Exception is silently handled by the BindingManagerBase. (Inherited from BindingManagerBase.)
Public event ItemChanged Occurs when the current item has been altered.
Public event ListChanged Occurs when the list changes or an item in the list changes.
Public event MetaDataChanged Occurs when the metadata of the List has changed.
Public event PositionChanged Occurs after the value of the Position property has changed. (Inherited from BindingManagerBase.)
Top
  Name Description
Protected field finalType Infrastructure. Specifies the data type of the list.
Protected field listposition Infrastructure. Specifies the current position of the CurrencyManager in the list.
Protected field onCurrentChangedHandler Specifies the event handler for the CurrentChanged event. (Inherited from BindingManagerBase.)
Protected field onPositionChangedHandler Specifies the event handler for the PositionChanged event. (Inherited from BindingManagerBase.)
Top

The CurrencyManager derives from the BindingManagerBase class. Use the BindingContext to return either a CurrencyManager or a PropertyManager. The actual object returned depends on the data source and data member passed to the Item property of the BindingContext. If the data source is an object that can return only a single property (instead of a list of objects), the type will be a PropertyManager. For example, if you specify a TextBox as the data source, a PropertyManager will be returned. If, on the other hand, the data source is an object that implements the IList, IListSource, or IBindingList interface, a CurrencyManager will be returned.

The Current property returns the current item in the underlying list. To change the current item, set the Position property to a new value. The value must be greater than 0 and must be less than the value of the Count property.

If the underlying data source implements the IBindingList interface, and the AllowNew property is set to true, you can use the AddNew method.

The following code example binds a TextBox control to a column in a DataTable, gets the CurrencyManager for the binding, and sets its position.


private CurrencyManager myCurrencyManager;

 private void BindControl(DataTable myTable){
    // Bind a TextBox control to a DataTable column in a DataSet.
    textBox1.DataBindings.Add("Text", myTable, "CompanyName");
    // Specify the CurrencyManager for the DataTable.
    myCurrencyManager = (CurrencyManager)this.BindingContext[myTable];
    // Set the initial Position of the control.
    myCurrencyManager.Position = 0;
 }

 private void MoveNext(CurrencyManager myCurrencyManager){
    if (myCurrencyManager.Position == myCurrencyManager.Count - 1){
       MessageBox.Show("You're at end of the records");
    }
    else{
      myCurrencyManager.Position += 1;
    }
 }

 private void MoveFirst(CurrencyManager myCurrencyManager){
    myCurrencyManager.Position = 0;
 }

 private void MovePrevious(CurrencyManager myCurrencyManager ){
    if(myCurrencyManager.Position == 0) {
       MessageBox.Show("You're at the beginning of the records.");
    }   
    else{
       myCurrencyManager.Position -= 1;
    }
 }

 private void MoveLast(CurrencyManager myCurrencyManager){
    myCurrencyManager.Position = myCurrencyManager.Count - 1;
 }



.NET Framework

Supported in: 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ