BindingManagerBase BindingManagerBase BindingManagerBase BindingManagerBase Class

정의

동일한 데이터 소스 및 데이터 멤버에 바인딩되는 Binding 개체를 모두 관리합니다.Manages all Binding objects that are bound to the same data source and data member. 이 클래스는 추상 클래스입니다.This class is abstract.

public ref class BindingManagerBase abstract
public abstract class BindingManagerBase
type BindingManagerBase = class
Public MustInherit Class BindingManagerBase
상속
BindingManagerBaseBindingManagerBaseBindingManagerBaseBindingManagerBase
파생

예제

다음 코드 예제에서는 합니다 BindingContext 반환할는 BindingManagerBase 특정 데이터 원본에 대 한 합니다.The following code example uses the BindingContext to return a BindingManagerBase for a specific data source. (이 예제에서는 선언 했다고 가정 myBindingManagerBase 모듈의 선언 섹션에 있습니다.) 이 예제에서는 이벤트 대리자를 추가 합니다 CurrentChangedPositionChanged 이벤트입니다.(The example assumes you have declared myBindingManagerBase in the Declarations section of the module.) The example then adds event delegates to the CurrentChanged and PositionChanged events. 예제에서는 네 가지 메서드를 포함 하는 마지막으로, (MoveNext, MovePrevious, MoveFirst, 및 MoveLast) 증가 또는 감소 하는 합니다 Position 속성을 설정 하 고는 Position 목록의 첫 번째 또는 마지막 행에 합니다.Lastly, the example contains four methods (MoveNext, MovePrevious, MoveFirst, and MoveLast) that increment or decrement the Position property, and set the Position to the first or last row in the list. 사용 하 여 목록에서 마지막 행이 결정 됩니다는 Count 속성입니다.The last row in the list is determined by using the Count property.

void GetBindingManagerBase()
{
   
   /* CustomersToOrders is the RelationName of a DataRelation. 
      Therefore, the list maintained by the BindingManagerBase is the
      list of orders that belong to a specific customer in the 
      DataTable named Customers, found in DataSet1. */
   myBindingManagerBase = this->BindingContext[DataSet1, "Customers.CustomersToOrders"];
   
   // Adds delegates to the CurrentChanged and PositionChanged events.
   myBindingManagerBase->PositionChanged += gcnew EventHandler( this, &Form1::BindingManagerBase_PositionChanged );
   myBindingManagerBase->CurrentChanged += gcnew EventHandler( this, &Form1::BindingManagerBase_CurrentChanged );
}

void BindingManagerBase_PositionChanged( Object^ sender, EventArgs^ /*e*/ )
{
   
   // Prints the new Position of the BindingManagerBase.
   Console::Write( "Position Changed: " );
   Console::WriteLine( (dynamic_cast<BindingManagerBase^>(sender))->Position );
}

void BindingManagerBase_CurrentChanged( Object^ sender, EventArgs^ /*e*/ )
{
   
   // Prints the new value of the current object.
   Console::Write( "Current Changed: " );
   Console::WriteLine( (dynamic_cast<BindingManagerBase^>(sender))->Current );
}

void MoveNext()
{
   
   // Increments the Position property value by one.
   myBindingManagerBase->Position = myBindingManagerBase->Position + 1;
}

void MovePrevious()
{
   
   // Decrements the Position property value by one.
   myBindingManagerBase->Position = myBindingManagerBase->Position - 1;
}

void MoveFirst()
{
   
   // Goes to the first row in the list.
   myBindingManagerBase->Position = 0;
}

void MoveLast()
{
   
   // Goes to the last row in the list.
   myBindingManagerBase->Position = myBindingManagerBase->Count - 1;
}

private void GetBindingManagerBase()
{
   /* CustomersToOrders is the RelationName of a DataRelation. 
   Therefore, the list maintained by the BindingManagerBase is the
   list of orders that belong to a specific customer in the 
   DataTable named Customers, found in DataSet1. */
   myBindingManagerBase = 
   this.BindingContext[DataSet1, "Customers.CustomersToOrders"];

   // Adds delegates to the CurrentChanged and PositionChanged events.
   myBindingManagerBase.PositionChanged += 
   new EventHandler(BindingManagerBase_PositionChanged);
   myBindingManagerBase.CurrentChanged +=
   new EventHandler(BindingManagerBase_CurrentChanged);
}

private void BindingManagerBase_PositionChanged
(object sender, EventArgs e)
{
   // Prints the new Position of the BindingManagerBase.
   Console.Write("Position Changed: ");
   Console.WriteLine(((BindingManagerBase)sender).Position);
}

private void BindingManagerBase_CurrentChanged
(object sender, EventArgs e)
{
   // Prints the new value of the current object.
   Console.Write("Current Changed: ");
   Console.WriteLine(((BindingManagerBase)sender).Current);
}

private void MoveNext()
{
   // Increments the Position property value by one.
   myBindingManagerBase.Position += 1;
}

private void MovePrevious()
{
   // Decrements the Position property value by one.
   myBindingManagerBase.Position -= 1;
}

private void MoveFirst()
{
   // Goes to the first row in the list.
   myBindingManagerBase.Position = 0;
}

private void MoveLast()
{
   // Goes to the last row in the list.
   myBindingManagerBase.Position = 
   myBindingManagerBase.Count - 1;
}

Private Sub GetBindingManagerBase
   ' CustomersToOrders is the RelationName of a DataRelation.
   ' Therefore, the list maintained by the BindingManagerBase is the
   ' list of orders that belong to a specific customer in the
   ' DataTable named Customers, found in DataSet.
   myBindingManagerBase = Me.BindingContext(DataSet1, _
   "Customers.CustomersToOrders")

   ' Adds delegates to the CurrentChanged and PositionChanged events.
   AddHandler myBindingManagerBase.PositionChanged, _
   AddressOf BindingManagerBase_PositionChanged
   AddHandler myBindingManagerBase.CurrentChanged, _
   AddressOf BindingManagerBase_CurrentChanged
End Sub

Private Sub BindingManagerBase_PositionChanged _
(sender As Object, e As EventArgs)

   ' Prints the new Position of the BindingManagerBase.
   Console.Write("Position Changed: ")
   Console.WriteLine(CType(sender, BindingManagerBase).Position)
End Sub

Private Sub BindingManagerBase_CurrentChanged _
(sender As Object, e As EventArgs)

   ' Prints the new value of the current object.
   Console.Write("Current Changed: ")
   Console.WriteLine(CType(sender, BindingManagerBase).Current)
End Sub

Private Sub MoveNext
   ' Increments the Position property value by one.
   myBindingManagerBase.Position += 1
End Sub

Private Sub MovePrevious
   ' Decrements the Position property value by one.
   myBindingManagerBase.Position -= 1
End Sub

Private Sub MoveFirst
   ' Goes to the first row in the list.
   myBindingManagerBase.Position = 0
End Sub

Private Sub MoveLast
   ' Goes to the last row in the list.
   myBindingManagerBase.Position = _
   myBindingManagerBase.Count - 1
End Sub

설명

BindingManagerBase 동일한 데이터 소스에 바인딩되는 Windows Form에 데이터 바인딩된 컨트롤의 동기화를 사용 하도록 설정 합니다.The BindingManagerBase enables the synchronization of data-bound controls on a Windows Form that are bound to the same data source. (단순 컨트롤 데이터 소스에 바인딩하는 방법에 대 한 자세한 내용은 참조는 Binding 클래스입니다.) 예를 들어, 폼 두 포함 TextBox 동일한 데이터 원본에 있지만 다른 열에 바인딩되는 컨트롤입니다.(For more information about simple binding a control to a data source, see the Binding class.) For example, suppose that a form contains two TextBox controls that are bound to the same data source but to different columns. 데이터 원본 수는 DataTable 포함 하는 고객 이름 열 이름과 성을 포함 될 수 있습니다.The data source might be a DataTable that contains customer names, while the columns might contain the first and last names. 두 개의 동일한 고객에 대 한 올바른 첫 번째 및 마지막 이름을 표시 하기 위해 동기화 되어야 합니다.The two controls must be synchronized in order to display the correct first and last names together for the same customer. CurrencyManager에서 상속 하는 BindingManagerBase 클래스, 데이터 소스의 현재 항목에 대 한 포인터를 유지 하 여 이러한 동기화를 수행 합니다.The CurrencyManager, which inherits from the BindingManagerBase class, accomplishes this synchronization by maintaining a pointer to the current item in the data source. TextBox 동일한 행에 대 한 정보를 표시 하도록 컨트롤은 현재 항목에 바인딩됩니다.The TextBox controls are bound to the current item so they display the information for the same row. 현재 항목이 변경 되 면는 CurrencyManager 모든 데이터를 새로 고칠 수 있도록는 바인딩된 컨트롤에 알립니다.When the current item changes, the CurrencyManager notifies all the bound controls so that they can refresh their data. 또한 설정할 수 있습니다는 Position 속성에서 행을 지정 하는 DataTable 컨트롤 가리키는 합니다.Furthermore, you can set the Position property to specify the row in the DataTable that the controls point to. 데이터 원본에 있는 행의 수를 확인 하려면 사용 된 Count 속성입니다.To determine how many rows exist in the data source, use the Count property.

CurrencyManager 필요한 이므로 데이터 소스는 현재 항목 포인터를 반드시 유지 하지 않습니다.The CurrencyManager is necessary because data sources do not necessarily maintain a current-item pointer. 예를 들어, 배열 및 ArrayList 개체에는 데이터 원본 수 있지만 현재 항목을 반환 하는 속성을 갖지 않습니다.For instance, arrays and ArrayList objects can be data sources, but they do not have a property that returns the current item. 현재 항목을 사용 합니다 Current 속성입니다.To get the current item, use the Current property.

PropertyManager 에서 상속 된 BindingManagerBase는 개체의 현재 속성 대신 데이터 원본에 있는 현재 개체의 속성을 유지 하는 데 사용 됩니다.The PropertyManager also inherits from the BindingManagerBase, and it is used to maintain the current property of an object, rather than the property of a current object in a data source. 설정 하는 동안 이러한 이유로 합니다 Position 또는 Count 에 대 한 속성을 PropertyManager 영향을 주지 않습니다.For this reason, trying to set the Position or Count property for a PropertyManager has no effect.

만들려면를 BindingManagerBase를 사용 합니다 BindingContext 클래스 중 하나를 반환 하는 CurrencyManager 또는 PropertyManager관리 되는 데이터 원본에 따라.To create a BindingManagerBase, use the BindingContext class, which returns either a CurrencyManager or a PropertyManager, depending on the data source being managed.

솔루션 프로그래머는 컨트롤에 직접 바인딩하는 것이 좋습니다는 BindingSource 데이터 원본 및 대상 실제 데이터 원본에 데이터 커넥터 역할을 하는 구성 요소입니다.Solutions programmers are encouraged to bind controls directly to a BindingSource component, which acts as both a data source and data connector to the actual target data source. BindingSource 컨트롤 및 해당 대상 간에 통화를 관리 하는 포함 하 여 단순 및 복합 데이터 바인딩을 모두를 크게 간소화 합니다.BindingSource greatly simplifies both simple and complex data binding, including managing currency between the control and its target.

상속자 참고

에서 BindingManagerBase CancelCurrentEdit()상속 하는 경우 Current AddNew() Count 에는EndCurrentEdit(),,, ,,,,Position등의 추상 멤버를 재정의 해야 합니다. GetItemProperties() OnCurrentChanged(EventArgs) RemoveAt(Int32) , ResumeBinding(), 및UpdateIsBinding()가있습니다. SuspendBinding()When you inherit from BindingManagerBase, you must override the following abstract members: AddNew(), Count, CancelCurrentEdit(), Current, EndCurrentEdit(), GetItemProperties(), OnCurrentChanged(EventArgs), Position, RemoveAt(Int32), ResumeBinding(), SuspendBinding(), and UpdateIsBinding().

생성자

BindingManagerBase() BindingManagerBase() BindingManagerBase() BindingManagerBase()

BindingManagerBase 클래스의 새 인스턴스를 초기화합니다.Initializes a new instance of the BindingManagerBase class.

필드

onCurrentChangedHandler onCurrentChangedHandler onCurrentChangedHandler onCurrentChangedHandler

CurrentChanged 이벤트의 이벤트 처리기를 지정합니다.Specifies the event handler for the CurrentChanged event.

onPositionChangedHandler onPositionChangedHandler onPositionChangedHandler onPositionChangedHandler

PositionChanged 이벤트의 이벤트 처리기를 지정합니다.Specifies the event handler for the PositionChanged event.

속성

Bindings Bindings Bindings Bindings

관리되는 바인딩의 컬렉션을 가져옵니다.Gets the collection of bindings being managed.

Count Count Count Count

파생 클래스에서 재정의된 경우 BindingManagerBase가 관리하는 행의 수를 가져옵니다.When overridden in a derived class, gets the number of rows managed by the BindingManagerBase.

Current Current Current Current

파생된 클래스에서 재정의하는 경우 현재 개체를 가져옵니다.When overridden in a derived class, gets the current object.

IsBindingSuspended IsBindingSuspended IsBindingSuspended IsBindingSuspended

바인딩이 보류되었는지 여부를 나타내는 값을 가져옵니다.Gets a value indicating whether binding is suspended.

Position Position Position Position

파생 클래스에서 재정의되면, 이 데이터 소스에 바인딩된 컨트롤이 가리키는 내부 목록에서의 위치를 가져오거나 설정합니다.When overridden in a derived class, gets or sets the position in the underlying list that controls bound to this data source point to.

메서드

AddNew() AddNew() AddNew() AddNew()

파생된 클래스에서 재정의되면 내부 목록에 새 항목을 추가합니다.When overridden in a derived class, adds a new item to the underlying list.

CancelCurrentEdit() CancelCurrentEdit() CancelCurrentEdit() CancelCurrentEdit()

파생 클래스에서 재정의되면 현재 편집을 취소합니다.When overridden in a derived class, cancels the current edit.

EndCurrentEdit() EndCurrentEdit() EndCurrentEdit() EndCurrentEdit()

파생 클래스에서 재정의하는 경우 현재 편집을 끝냅니다.When overridden in a derived class, ends the current edit.

Equals(Object) Equals(Object) Equals(Object) Equals(Object)

지정한 개체와 현재 개체가 같은지 여부를 확인합니다.Determines whether the specified object is equal to the current object.

(Inherited from Object)
GetHashCode() GetHashCode() GetHashCode() GetHashCode()

기본 해시 함수로 작동합니다.Serves as the default hash function.

(Inherited from Object)
GetItemProperties() GetItemProperties() GetItemProperties() GetItemProperties()

파생 클래스에서 재정의하는 경우 바인딩에 대한 속성 설명자의 컬렉션을 가져오거나 설정합니다.When overridden in a derived class, gets the collection of property descriptors for the binding.

GetItemProperties(ArrayList, ArrayList) GetItemProperties(ArrayList, ArrayList) GetItemProperties(ArrayList, ArrayList) GetItemProperties(ArrayList, ArrayList)

지정된 ArrayList를 사용하여 바인딩에 대한 속성 설명자의 컬렉션을 가져옵니다.Gets the collection of property descriptors for the binding using the specified ArrayList.

GetItemProperties(Type, Int32, ArrayList, ArrayList) GetItemProperties(Type, Int32, ArrayList, ArrayList) GetItemProperties(Type, Int32, ArrayList, ArrayList) GetItemProperties(Type, Int32, ArrayList, ArrayList)

BindingManagerBase가 관리하는 항목의 속성 목록을 가져옵니다.Gets the list of properties of the items managed by this BindingManagerBase.

GetListName(ArrayList) GetListName(ArrayList) GetListName(ArrayList) GetListName(ArrayList)

파생 클래스에서 재정의하는 경우 바인딩에 대한 데이터를 제공하는 목록 이름을 가져옵니다.When overridden in a derived class, gets the name of the list supplying the data for the binding.

GetType() GetType() GetType() GetType()

현재 인스턴스의 Type을 가져옵니다.Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone() MemberwiseClone() MemberwiseClone() MemberwiseClone()

현재 Object의 단순 복사본을 만듭니다.Creates a shallow copy of the current Object.

(Inherited from Object)
OnBindingComplete(BindingCompleteEventArgs) OnBindingComplete(BindingCompleteEventArgs) OnBindingComplete(BindingCompleteEventArgs) OnBindingComplete(BindingCompleteEventArgs)

BindingComplete 이벤트를 발생시킵니다.Raises the BindingComplete event.

OnCurrentChanged(EventArgs) OnCurrentChanged(EventArgs) OnCurrentChanged(EventArgs) OnCurrentChanged(EventArgs)

CurrentChanged 이벤트를 발생시킵니다.Raises the CurrentChanged event.

OnCurrentItemChanged(EventArgs) OnCurrentItemChanged(EventArgs) OnCurrentItemChanged(EventArgs) OnCurrentItemChanged(EventArgs)

CurrentItemChanged 이벤트를 발생시킵니다.Raises the CurrentItemChanged event.

OnDataError(Exception) OnDataError(Exception) OnDataError(Exception) OnDataError(Exception)

DataError 이벤트를 발생시킵니다.Raises the DataError event.

PullData() PullData() PullData() PullData()

정보를 반환하지 않고 데이터를 데이터 바인딩된 컨트롤에서 데이터 소스로 끌어옵니다.Pulls data from the data-bound control into the data source, returning no information.

PushData() PushData() PushData() PushData()

정보를 반환하지 않고 데이터를 데이터 소스에서 데이터 바인딩된 컨트롤로 밀어넣습니다.Pushes data from the data source into the data-bound control, returning no information.

RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32) RemoveAt(Int32)

파생 클래스에서 재정의하는 경우 지정된 인덱스에 있는 행을 내부 목록에서 삭제합니다.When overridden in a derived class, deletes the row at the specified index from the underlying list.

ResumeBinding() ResumeBinding() ResumeBinding() ResumeBinding()

파생 클래스에서 재정의하는 경우 데이터 바인딩을 다시 시작합니다.When overridden in a derived class, resumes data binding.

SuspendBinding() SuspendBinding() SuspendBinding() SuspendBinding()

파생 클래스에서 재정의하는 경우 데이터 바인딩을 보류합니다.When overridden in a derived class, suspends data binding.

ToString() ToString() ToString() ToString()

현재 개체를 나타내는 문자열을 반환합니다.Returns a string that represents the current object.

(Inherited from Object)
UpdateIsBinding() UpdateIsBinding() UpdateIsBinding() UpdateIsBinding()

파생 클래스에서 재정의하는 경우 바인딩을 업데이트합니다.When overridden in a derived class, updates the binding.

이벤트

BindingComplete BindingComplete BindingComplete BindingComplete

데이터 바인딩 작업이 완료되면 발생합니다.Occurs at the completion of a data-binding operation.

CurrentChanged CurrentChanged CurrentChanged CurrentChanged

현재 바인딩된 항목이 변경되면 발생합니다.Occurs when the currently bound item changes.

CurrentItemChanged CurrentItemChanged CurrentItemChanged CurrentItemChanged

현재 바인딩된 항목의 상태가 변경되면 발생합니다.Occurs when the state of the currently bound item changes.

DataError DataError DataError DataError

Exception에서 자동으로 BindingManagerBase이 처리되면 발생합니다.Occurs when an Exception is silently handled by the BindingManagerBase.

PositionChanged PositionChanged PositionChanged PositionChanged

Position 속성 값이 변경된 후에 발생합니다.Occurs after the value of the Position property has changed.

적용 대상

추가 정보