Поделиться через


ControlBindingsCollection Класс

Определение

Представляет коллекцию привязок данных для элемента управления.

public ref class ControlBindingsCollection : System::Windows::Forms::BindingsCollection
[System.ComponentModel.TypeConverter("System.Windows.Forms.Design.ControlBindingsConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public class ControlBindingsCollection : System.Windows.Forms.BindingsCollection
[System.ComponentModel.TypeConverter("System.Windows.Forms.Design.ControlBindingsConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public class ControlBindingsCollection : System.Windows.Forms.BindingsCollection
[System.ComponentModel.TypeConverter("System.Windows.Forms.Design.ControlBindingsConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")]
public class ControlBindingsCollection : System.Windows.Forms.BindingsCollection
[<System.ComponentModel.TypeConverter("System.Windows.Forms.Design.ControlBindingsConverter, System.Design, Version=1.0.5000.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
type ControlBindingsCollection = class
    inherit BindingsCollection
[<System.ComponentModel.TypeConverter("System.Windows.Forms.Design.ControlBindingsConverter, System.Design, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
type ControlBindingsCollection = class
    inherit BindingsCollection
[<System.ComponentModel.TypeConverter("System.Windows.Forms.Design.ControlBindingsConverter, System.Design, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a")>]
type ControlBindingsCollection = class
    inherit BindingsCollection
Public Class ControlBindingsCollection
Inherits BindingsCollection
Наследование
Атрибуты

Примеры

В следующем примере кода объекты добавляются Binding в ControlBindingsCollection из пяти элементов управления: четыре TextBox элемента управления и элемент DateTimePicker управления . Доступ к коллекции ControlBindingsCollection осуществляется с помощью свойства DataBindings класса Control.

protected:
   void BindControls()
   {
      /* Create two Binding objects for the first two TextBox 
         controls. The data-bound property for both controls 
         is the Text property. The data source is a DataSet 
         (ds). The data member is the navigation path: 
         TableName.ColumnName. */
      textBox1->DataBindings->Add( gcnew Binding(
         "Text",ds,"customers.custName" ) );
      textBox2->DataBindings->Add( gcnew Binding(
         "Text",ds,"customers.custID" ) );
      
      /* Bind the DateTimePicker control by adding a new Binding. 
         The data member of the DateTimePicker is a navigation path:
         TableName.RelationName.ColumnName. */
      DateTimePicker1->DataBindings->Add( gcnew Binding(
         "Value",ds,"customers.CustToOrders.OrderDate" ) );
      
      /* Create a new Binding using the DataSet and a 
         navigation path(TableName.RelationName.ColumnName).
         Add event delegates for the Parse and Format events to 
         the Binding object, and add the object to the third 
         TextBox control's BindingsCollection. The delegates 
         must be added before adding the Binding to the 
         collection; otherwise, no formatting occurs until 
         the Current object of the BindingManagerBase for 
         the data source changes. */
      Binding^ b = gcnew Binding(
         "Text",ds,"customers.custToOrders.OrderAmount" );
      b->Parse += gcnew ConvertEventHandler(
         this, &Form1::CurrencyStringToDecimal );
      b->Format += gcnew ConvertEventHandler(
         this, &Form1::DecimalToCurrencyString );
      textBox3->DataBindings->Add( b );
      
      /*Bind the fourth TextBox to the Value of the 
         DateTimePicker control. This demonstates how one control
         can be data-bound to another.*/
      textBox4->DataBindings->Add( "Text", DateTimePicker1, "Value" );
      
      // Get the BindingManagerBase for the textBox4 Binding.
      BindingManagerBase^ bmText = this->BindingContext[
         DateTimePicker1 ];
      
      /* Print the Type of the BindingManagerBase, which is 
         a PropertyManager because the data source
         returns only a single property value. */
      Console::WriteLine( bmText->GetType() );
      
      // Print the count of managed objects, which is one.
      Console::WriteLine( bmText->Count );
      
      // Get the BindingManagerBase for the Customers table. 
      bmCustomers = this->BindingContext[ds, "Customers"];
      
      /* Print the Type and count of the BindingManagerBase.
         Because the data source inherits from IBindingList,
         it is a RelatedCurrencyManager (a derived class of
         CurrencyManager). */
      Console::WriteLine( bmCustomers->GetType() );
      Console::WriteLine( bmCustomers->Count );
      
      /* Get the BindingManagerBase for the Orders of the current
         customer using a navigation path: TableName.RelationName. */
      bmOrders = this->BindingContext[ds, "customers.CustToOrders"];
   }
protected void BindControls()
{
   /* Create two Binding objects for the first two TextBox 
   controls. The data-bound property for both controls 
   is the Text property. The data source is a DataSet 
   (ds). The data member is the navigation path: 
   TableName.ColumnName. */
   textBox1.DataBindings.Add(new Binding
   ("Text", ds, "customers.custName"));
   textBox2.DataBindings.Add(new Binding
   ("Text", ds, "customers.custID"));
      
   /* Bind the DateTimePicker control by adding a new Binding. 
   The data member of the DateTimePicker is a navigation path:
   TableName.RelationName.ColumnName. */
   DateTimePicker1.DataBindings.Add(new 
   Binding("Value", ds, "customers.CustToOrders.OrderDate"));

   /* Create a new Binding using the DataSet and a 
   navigation path(TableName.RelationName.ColumnName).
   Add event delegates for the Parse and Format events to 
   the Binding object, and add the object to the third 
   TextBox control's BindingsCollection. The delegates 
   must be added before adding the Binding to the 
   collection; otherwise, no formatting occurs until 
   the Current object of the BindingManagerBase for 
   the data source changes. */
   Binding b = new Binding
   ("Text", ds, "customers.custToOrders.OrderAmount");
   b.Parse+=new ConvertEventHandler(CurrencyStringToDecimal);
   b.Format+=new ConvertEventHandler(DecimalToCurrencyString);
   textBox3.DataBindings.Add(b);

   /*Bind the fourth TextBox to the Value of the 
   DateTimePicker control. This demonstates how one control
   can be data-bound to another.*/
   textBox4.DataBindings.Add("Text", DateTimePicker1,"Value");

   // Get the BindingManagerBase for the textBox4 Binding.
   BindingManagerBase bmText = this.BindingContext
   [DateTimePicker1];

   /* Print the Type of the BindingManagerBase, which is 
   a PropertyManager because the data source
   returns only a single property value. */
   Console.WriteLine(bmText.GetType().ToString());

   // Print the count of managed objects, which is one.
   Console.WriteLine(bmText.Count);

   // Get the BindingManagerBase for the Customers table. 
   bmCustomers = this.BindingContext [ds, "Customers"];

   /* Print the Type and count of the BindingManagerBase.
   Because the data source inherits from IBindingList,
   it is a RelatedCurrencyManager (a derived class of
   CurrencyManager). */
   Console.WriteLine(bmCustomers.GetType().ToString());
   Console.WriteLine(bmCustomers.Count);
   
   /* Get the BindingManagerBase for the Orders of the current
   customer using a navigation path: TableName.RelationName. */ 
   bmOrders = this.BindingContext[ds, "customers.CustToOrders"];
}
Protected Sub BindControls()
    ' Create two Binding objects for the first two TextBox 
    ' controls. The data-bound property for both controls 
    ' is the Text property. The data source is a DataSet 
    ' (ds). The data member is the navigation path: 
    ' TableName.ColumnName. 
    textBox1.DataBindings.Add _
       (New Binding("Text", ds, "customers.custName"))
    textBox2.DataBindings.Add _
       (New Binding("Text", ds, "customers.custID"))
    
    ' Bind the DateTimePicker control by adding a new Binding. 
    ' The data member of the DateTimePicker is a navigation path:
    ' TableName.RelationName.ColumnName. 
    DateTimePicker1.DataBindings.Add _
       (New Binding("Value", ds, "customers.CustToOrders.OrderDate"))
    
    ' Create a new Binding using the DataSet and a 
    ' navigation path(TableName.RelationName.ColumnName).
    ' Add event delegates for the Parse and Format events to 
    ' the Binding object, and add the object to the third 
    ' TextBox control's BindingsCollection. The delegates 
    ' must be added before adding the Binding to the 
    ' collection; otherwise, no formatting occurs until 
    ' the Current object of the BindingManagerBase for 
    ' the data source changes. 
    Dim b As New Binding("Text", ds, "customers.custToOrders.OrderAmount")
    AddHandler b.Parse, AddressOf CurrencyStringToDecimal
    AddHandler b.Format, AddressOf DecimalToCurrencyString
    textBox3.DataBindings.Add(b)
    
    ' Bind the fourth TextBox to the Value of the 
    ' DateTimePicker control. This demonstates how one control
    ' can be data-bound to another.
    textBox4.DataBindings.Add("Text", DateTimePicker1, "Value")
    
    ' Get the BindingManagerBase for the textBox4 Binding.
    Dim bmText As BindingManagerBase = Me.BindingContext(DateTimePicker1)
    
    ' Print the Type of the BindingManagerBase, which is 
    ' a PropertyManager because the data source
    ' returns only a single property value. 
    Console.WriteLine(bmText.GetType().ToString())
    
    ' Print the count of managed objects, which is one.
    Console.WriteLine(bmText.Count)
    
    ' Get the BindingManagerBase for the Customers table. 
    bmCustomers = Me.BindingContext(ds, "Customers")
    
    ' Print the Type and count of the BindingManagerBase.
    ' Because the data source inherits from IBindingList,
    ' it is a RelatedCurrencyManager (a derived class of
    ' CurrencyManager). 
    Console.WriteLine(bmCustomers.GetType().ToString())
    Console.WriteLine(bmCustomers.Count)
    
    ' Get the BindingManagerBase for the Orders of the current
    ' customer using a navigation path: TableName.RelationName. 
    bmOrders = Me.BindingContext(ds, "customers.CustToOrders")
End Sub

Комментарии

Простая привязка данных достигается путем добавления Binding объектов в ControlBindingsCollection. Любой объект, наследующий Control от класса , может получить доступ к ControlBindingsCollection через DataBindings свойство . Список элементов управления Windows, поддерживающих привязку данных, см. в Binding разделе Класс .

содержит ControlBindingsCollection стандартные методы сбора, такие как Add, Clearи Remove.

Чтобы получить элемент управления, к которому ControlBindingsCollection принадлежит , используйте Control свойство .

Конструкторы

ControlBindingsCollection(IBindableComponent)

Инициализирует новый экземпляр класса ControlBindingsCollection, используя заданный привязываемый элемент управления.

Свойства

BindableComponent

Возвращает компонент IBindableComponent, которому принадлежит данная коллекция привязок.

Control

Возвращает элемент управления, которому принадлежит данная коллекция.

Count

Возвращает общее количество привязок в коллекции.

(Унаследовано от BindingsCollection)
DefaultDataSourceUpdateMode

Возвращает или задает свойство DataSourceUpdateMode по умолчанию для привязки Binding в коллекции.

IsReadOnly

Возвращает значение, указывающее, является ли коллекция доступной только для чтения.

(Унаследовано от BaseCollection)
IsSynchronized

Возвращает значение, определяющее, синхронизирован ли доступ к интерфейсу ICollection.

(Унаследовано от BaseCollection)
Item[Int32]

Возвращает объект Binding по указанному индексу.

(Унаследовано от BindingsCollection)
Item[String]

Возвращает привязку Binding, заданную именем свойства элемента управления.

List

Возвращает привязки в коллекции в виде объектов.

(Унаследовано от BindingsCollection)
SyncRoot

Получает объект, с помощью которого можно синхронизировать доступ к коллекции BaseCollection.

(Унаследовано от BaseCollection)

Методы

Add(Binding)

Добавляет указанный параметр Binding в коллекцию.

Add(String, Object, String)

Создает Binding, используя имя свойства, источник данных и элемент данных заданного элемента управления, и добавляет эту привязку в коллекцию.

Add(String, Object, String, Boolean)

Создает привязку с заданным именем свойства для элемента управления, источником данных, элементом данных и сведениями о том, включено ли форматирование, и добавляет привязку в коллекцию.

Add(String, Object, String, Boolean, DataSourceUpdateMode)

Создает привязку, связывающую указанное свойство элемента управления с заданными элементом данных указанного источника данных, при необходимости включая форматирование, распространение значений в источник данных в зависимости от заданных параметров обновления и добавление привязки в коллекцию.

Add(String, Object, String, Boolean, DataSourceUpdateMode, Object)

Создает привязку, связывающую указанное свойство элемента управления с заданными элементом данных указанного источника данных, при необходимости включая форматирование, распространение значений в источник данных в зависимости от заданных настроек обновления, установку для свойства заданного значения при возвращении DBNull из источника данных и добавление привязки в коллекцию.

Add(String, Object, String, Boolean, DataSourceUpdateMode, Object, String)

Создает привязку, связывающую указанное свойство элемента управления с заданными элементом данных указанного источника данных, при необходимости включая форматирование с заданной строкой формата, распространение значений в источник данных в зависимости от заданных настроек обновления, установку для свойства заданного значения при возвращении DBNull из источника данных и добавление привязки в коллекцию.

Add(String, Object, String, Boolean, DataSourceUpdateMode, Object, String, IFormatProvider)

Создает привязку, связывающую указанное свойство элемента управления с заданными элементом данных указанного источника данных, при необходимости включая форматирование с заданной строкой формата, распространение значений в источник данных в зависимости от заданных настроек обновления, установку для свойства заданного значения при возвращении DBNull из источника данных, установку заданного поставщика формата и добавление привязки в коллекцию.

AddCore(Binding)

Добавляет привязку в коллекцию.

Clear()

Очищает коллекцию от привязок.

ClearCore()

Удаляет привязки в коллекции.

CopyTo(Array, Int32)

Копирует все элементы текущего одномерного массива Array в заданный одномерный массив Array, начиная с указанного индекса в массиве назначения Array.

(Унаследовано от BaseCollection)
CreateObjRef(Type)

Создает объект, который содержит всю необходимую информацию для создания прокси-сервера, используемого для взаимодействия с удаленным объектом.

(Унаследовано от MarshalByRefObject)
Equals(Object)

Определяет, равен ли указанный объект текущему объекту.

(Унаследовано от Object)
GetEnumerator()

Получает объект, позволяющий выполнять итерацию по элементам коллекции.

(Унаследовано от BaseCollection)
GetHashCode()

Служит хэш-функцией по умолчанию.

(Унаследовано от Object)
GetLifetimeService()
Устаревшие..

Извлекает объект обслуживания во время существования, который управляет политикой времени существования данного экземпляра.

(Унаследовано от MarshalByRefObject)
GetType()

Возвращает объект Type для текущего экземпляра.

(Унаследовано от Object)
InitializeLifetimeService()
Устаревшие..

Получает объект службы времени существования для управления политикой времени существования для этого экземпляра.

(Унаследовано от MarshalByRefObject)
MemberwiseClone()

Создает неполную копию текущего объекта Object.

(Унаследовано от Object)
MemberwiseClone(Boolean)

Создает неполную копию текущего объекта MarshalByRefObject.

(Унаследовано от MarshalByRefObject)
OnCollectionChanged(CollectionChangeEventArgs)

Вызывает событие CollectionChanged.

(Унаследовано от BindingsCollection)
OnCollectionChanging(CollectionChangeEventArgs)

Вызывает событие CollectionChanging.

(Унаследовано от BindingsCollection)
Remove(Binding)

Удаляет из коллекции указанную привязку Binding.

RemoveAt(Int32)

Удаляет привязку Binding с заданынм индексом.

RemoveCore(Binding)

Удаляет указанную привязку из коллекции.

ShouldSerializeMyAll()

Возвращает значение, указывающее, нужно ли выполнять сериализацию коллекции.

(Унаследовано от BindingsCollection)
ToString()

Возвращает строку, представляющую текущий объект.

(Унаследовано от Object)

События

CollectionChanged

Происходит при изменении коллекции.

(Унаследовано от BindingsCollection)
CollectionChanging

Происходит перед изменением коллекции.

(Унаследовано от BindingsCollection)

Методы расширения

Cast<TResult>(IEnumerable)

Приводит элементы объекта IEnumerable к заданному типу.

OfType<TResult>(IEnumerable)

Выполняет фильтрацию элементов объекта IEnumerable по заданному типу.

AsParallel(IEnumerable)

Позволяет осуществлять параллельный запрос.

AsQueryable(IEnumerable)

Преобразовывает коллекцию IEnumerable в объект IQueryable.

Применяется к