다음을 통해 공유


CurrencyManager 클래스

Binding 개체의 목록을 관리합니다.

네임스페이스: System.Windows.Forms
어셈블리: System.Windows.Forms(system.windows.forms.dll)

구문

‘선언
Public Class CurrencyManager
    Inherits BindingManagerBase
‘사용 방법
Dim instance As CurrencyManager
public class CurrencyManager : BindingManagerBase
public ref class CurrencyManager : public BindingManagerBase
public class CurrencyManager extends BindingManagerBase
public class CurrencyManager extends BindingManagerBase

설명

CurrencyManagerBindingManagerBase 클래스에서 파생됩니다. CurrencyManager 또는 PropertyManager를 반환하려면 BindingContext를 사용합니다. 실제로 반환되는 개체는 BindingContextItem 속성에 전달되는 데이터 소스 및 데이터 멤버에 따라 다릅니다. 데이터 소스가 개체 목록이 아니라 하나의 속성만 반환할 수 있는 개체이면 형식은 PropertyManager입니다. 예를 들어 TextBox를 데이터 소스로 지정하면 PropertyManager가 반환됩니다. 반면에 데이터 소스가 IList, IListSource 또는 IBindingList 인터페이스를 구현하는 개체이면 CurrencyManager가 반환됩니다.

Current 속성은 기본 목록에서 현재 항목을 반환합니다. 현재 항목을 변경하려면 Position 속성을 새 값으로 설정해야 합니다. 값은 0보다 크고 Count 속성 값보다 작아야 합니다.

내부 데이터 소스가 IBindingList 인터페이스를 구현하고 AllowNew 속성이 true로 설정되어 있으면, AddNew 메서드를 사용할 수 있습니다.

예제

다음 코드 예제에서는 TextBox 컨트롤을 DataTable에 있는 열에 바인딩하고, 이 바인딩에 대한 CurrencyManager를 가져오고, 해당 위치를 설정합니다.

' Place the next line into the Declarations section of the form.
 Private myCurrencyManager As CurrencyManager
 
 Private Sub BindControl(myTable As DataTable)
    ' Bind a TextBox control to a DataTable column in a DataSet.
    TextBox1.DataBindings.Add("Text", myTable, "CompanyName")
    ' Specify the CurrencyManager for the DataTable.
    myCurrencyManager = CType(me.BindingContext(myTable), CurrencyManager)
    ' Set the initial Position of the control.
    myCurrencyManager.Position = 0
 End Sub
 
 Private Sub MoveNext(myCurrencyManager As CurrencyManager)
    If myCurrencyManager.Position = myCurrencyManager.Count - 1 Then 
       MessageBox.Show("You're at end of the records")
    Else
       myCurrencyManager.Position += 1
    End If
 End Sub
 
 Private Sub MoveFirst(myCurrencyManager As CurrencyManager)
    myCurrencyManager.Position = 0
 End Sub
 
 Private Sub MovePrevious(myCurrencyManager As CurrencyManager)
    If myCurrencyManager.Position = 0 Then
       MessageBox.Show("You're at the beginning of the records.")
    Else
       myCurrencyManager.Position -= 1
    End if
 End Sub
 
 Private Sub MoveLast(myCurrencyManager As CurrencyManager)
    myCurrencyManager.Position = myCurrencyManager.Count - 1
 End Sub
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;
 }
CurrencyManager^ myCurrencyManager;
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.
   this->myCurrencyManager = dynamic_cast<CurrencyManager^>(this->BindingContext[ myTable ]);
   
   // Set the initial Position of the control.
   this->myCurrencyManager->Position = 0;
}

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

void MoveFirst( CurrencyManager^ myCurrencyManager )
{
   myCurrencyManager->Position = 0;
}

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

void MoveLast( CurrencyManager^ myCurrencyManager )
{
   myCurrencyManager->Position = myCurrencyManager->Count - 1;
}
private var myCurrencyManager : CurrencyManager;

private function BindControl(myTable : DataTable){
   // 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 function MoveNext(myCurrencyManager : CurrencyManager){
   if (myCurrencyManager.Position == myCurrencyManager.Count - 1){
      MessageBox.Show("You're at end of the records");
   }
   else{
     myCurrencyManager.Position += 1;
   }
}

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

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

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

상속 계층 구조

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

스레드로부터의 안전성

이 형식의 모든 public static(Visual Basic의 경우 Shared) 멤버는 스레드로부터 안전합니다. 인터페이스 멤버는 스레드로부터 안전하지 않습니다.

플랫폼

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

.NET Framework에서 모든 플래폼의 모든 버전을 지원하지는 않습니다. 지원되는 버전의 목록은 시스템 요구 사항을 참조하십시오.

버전 정보

.NET Framework

2.0, 1.1, 1.0에서 지원

.NET Compact Framework

2.0, 1.0에서 지원

참고 항목

참조

CurrencyManager 멤버
System.Windows.Forms 네임스페이스
BindingsCollection 클래스
BindingContext 클래스
Binding 클래스