Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / ControlBindingsCollection.cs / 1305376 / ControlBindingsCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System; using Microsoft.Win32; using System.Diagnostics; using System.ComponentModel; using System.Collections; using System.Globalization; ////// /// [DefaultEvent("CollectionChanged"), Editor("System.Drawing.Design.UITypeEditor, " + AssemblyRef.SystemDrawing, typeof(System.Drawing.Design.UITypeEditor)), TypeConverterAttribute("System.Windows.Forms.Design.ControlBindingsConverter, " + AssemblyRef.SystemDesign), ] public class ControlBindingsCollection : BindingsCollection { internal IBindableComponent control; private DataSourceUpdateMode defaultDataSourceUpdateMode = DataSourceUpdateMode.OnValidation; ////// Represents the collection of data bindings for a control. ///public ControlBindingsCollection(IBindableComponent control) : base() { Debug.Assert(control != null, "How could a controlbindingscollection not have a control associated with it!"); this.control = control; } /// /// /// public IBindableComponent BindableComponent { get { return this.control; } } ///[To be supplied.] ////// /// public Control Control { get { return this.control as Control; } } ///[To be supplied.] ////// /// public Binding this[string propertyName] { get { foreach (Binding binding in this) { if (String.Equals(binding.PropertyName, propertyName, StringComparison.OrdinalIgnoreCase)) { return binding; } } return null; } } ///[To be supplied.] ////// /// Adds the binding to the collection. An ArgumentNullException is thrown if this binding /// is null. An exception is thrown if a binding to the same target and Property as an existing binding or /// if the binding's column isn't a valid column given this DataSource.Table's schema. /// Fires the CollectionChangedEvent. /// public new void Add(Binding binding) { base.Add(binding); } ////// /// Creates the binding and adds it to the collection. An InvalidBindingException is thrown /// if this binding can't be constructed. An exception is thrown if a binding to the same target and Property as an existing binding or /// if the binding's column isn't a valid column given this DataSource.Table's schema. /// Fires the CollectionChangedEvent. /// public Binding Add(string propertyName, object dataSource, string dataMember) { return Add(propertyName, dataSource, dataMember, false, this.DefaultDataSourceUpdateMode, null, String.Empty, null); } ///public Binding Add(string propertyName, object dataSource, string dataMember, bool formattingEnabled) { return Add(propertyName, dataSource, dataMember, formattingEnabled, this.DefaultDataSourceUpdateMode, null, String.Empty, null); } /// public Binding Add(string propertyName, object dataSource, string dataMember, bool formattingEnabled, DataSourceUpdateMode updateMode) { return Add(propertyName, dataSource, dataMember, formattingEnabled, updateMode, null, String.Empty, null); } /// public Binding Add(string propertyName, object dataSource, string dataMember, bool formattingEnabled, DataSourceUpdateMode updateMode, object nullValue) { return Add(propertyName, dataSource, dataMember, formattingEnabled, updateMode, nullValue, String.Empty, null); } /// public Binding Add(string propertyName, object dataSource, string dataMember, bool formattingEnabled, DataSourceUpdateMode updateMode, object nullValue, string formatString) { return Add(propertyName, dataSource, dataMember, formattingEnabled, updateMode, nullValue, formatString, null); } /// public Binding Add(string propertyName, object dataSource, string dataMember, bool formattingEnabled, DataSourceUpdateMode updateMode, object nullValue, string formatString, IFormatProvider formatInfo) { if (dataSource == null) throw new ArgumentNullException("dataSource"); Binding binding = new Binding(propertyName, dataSource, dataMember, formattingEnabled, updateMode, nullValue, formatString, formatInfo); Add(binding); return binding; } /// /// /// Creates the binding and adds it to the collection. An InvalidBindingException is thrown /// if this binding can't be constructed. An exception is thrown if a binding to the same target and Property as an existing binding or /// if the binding's column isn't a valid column given this DataSource.Table's schema. /// Fires the CollectionChangedEvent. /// protected override void AddCore(Binding dataBinding) { if (dataBinding == null) throw new ArgumentNullException("dataBinding"); if (dataBinding.BindableComponent == control) throw new ArgumentException(SR.GetString(SR.BindingsCollectionAdd1)); if (dataBinding.BindableComponent != null) throw new ArgumentException(SR.GetString(SR.BindingsCollectionAdd2)); // important to set prop first for error checking. dataBinding.SetBindableComponent(control); base.AddCore(dataBinding); } // internalonly internal void CheckDuplicates(Binding binding) { if (binding.PropertyName.Length == 0) { return; } for (int i = 0; i < Count; i++) { if (binding != this[i] && this[i].PropertyName.Length > 0 && (String.Compare(binding.PropertyName, this[i].PropertyName, false, CultureInfo.InvariantCulture) == 0)) { throw new ArgumentException(SR.GetString(SR.BindingsCollectionDup), "binding"); } } } ////// /// Clears the collection of any bindings. /// Fires the CollectionChangedEvent. /// public new void Clear() { base.Clear(); } // internalonly ////// /// protected override void ClearCore() { int numLinks = Count; for (int i = 0; i < numLinks; i++) { Binding dataBinding = this[i]; dataBinding.SetBindableComponent(null); } base.ClearCore(); } ///[To be supplied.] ////// /// public DataSourceUpdateMode DefaultDataSourceUpdateMode { get { return defaultDataSourceUpdateMode; } set { defaultDataSourceUpdateMode = value; } } ////// /// Removes the given binding from the collection. /// An ArgumentNullException is thrown if this binding is null. An ArgumentException is thrown /// if this binding doesn't belong to this collection. /// The CollectionChanged event is fired if it succeeds. /// public new void Remove(Binding binding) { base.Remove(binding); } ////// /// Removes the given binding from the collection. /// It throws an IndexOutOfRangeException if this doesn't have /// a valid binding. /// The CollectionChanged event is fired if it succeeds. /// public new void RemoveAt(int index) { base.RemoveAt(index); } ////// /// protected override void RemoveCore(Binding dataBinding) { if (dataBinding.BindableComponent != control) throw new ArgumentException(SR.GetString(SR.BindingsCollectionForeign)); dataBinding.SetBindableComponent(null); base.RemoveCore(dataBinding); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ //[To be supplied.] ///// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Windows.Forms { using System; using Microsoft.Win32; using System.Diagnostics; using System.ComponentModel; using System.Collections; using System.Globalization; ////// /// [DefaultEvent("CollectionChanged"), Editor("System.Drawing.Design.UITypeEditor, " + AssemblyRef.SystemDrawing, typeof(System.Drawing.Design.UITypeEditor)), TypeConverterAttribute("System.Windows.Forms.Design.ControlBindingsConverter, " + AssemblyRef.SystemDesign), ] public class ControlBindingsCollection : BindingsCollection { internal IBindableComponent control; private DataSourceUpdateMode defaultDataSourceUpdateMode = DataSourceUpdateMode.OnValidation; ////// Represents the collection of data bindings for a control. ///public ControlBindingsCollection(IBindableComponent control) : base() { Debug.Assert(control != null, "How could a controlbindingscollection not have a control associated with it!"); this.control = control; } /// /// /// public IBindableComponent BindableComponent { get { return this.control; } } ///[To be supplied.] ////// /// public Control Control { get { return this.control as Control; } } ///[To be supplied.] ////// /// public Binding this[string propertyName] { get { foreach (Binding binding in this) { if (String.Equals(binding.PropertyName, propertyName, StringComparison.OrdinalIgnoreCase)) { return binding; } } return null; } } ///[To be supplied.] ////// /// Adds the binding to the collection. An ArgumentNullException is thrown if this binding /// is null. An exception is thrown if a binding to the same target and Property as an existing binding or /// if the binding's column isn't a valid column given this DataSource.Table's schema. /// Fires the CollectionChangedEvent. /// public new void Add(Binding binding) { base.Add(binding); } ////// /// Creates the binding and adds it to the collection. An InvalidBindingException is thrown /// if this binding can't be constructed. An exception is thrown if a binding to the same target and Property as an existing binding or /// if the binding's column isn't a valid column given this DataSource.Table's schema. /// Fires the CollectionChangedEvent. /// public Binding Add(string propertyName, object dataSource, string dataMember) { return Add(propertyName, dataSource, dataMember, false, this.DefaultDataSourceUpdateMode, null, String.Empty, null); } ///public Binding Add(string propertyName, object dataSource, string dataMember, bool formattingEnabled) { return Add(propertyName, dataSource, dataMember, formattingEnabled, this.DefaultDataSourceUpdateMode, null, String.Empty, null); } /// public Binding Add(string propertyName, object dataSource, string dataMember, bool formattingEnabled, DataSourceUpdateMode updateMode) { return Add(propertyName, dataSource, dataMember, formattingEnabled, updateMode, null, String.Empty, null); } /// public Binding Add(string propertyName, object dataSource, string dataMember, bool formattingEnabled, DataSourceUpdateMode updateMode, object nullValue) { return Add(propertyName, dataSource, dataMember, formattingEnabled, updateMode, nullValue, String.Empty, null); } /// public Binding Add(string propertyName, object dataSource, string dataMember, bool formattingEnabled, DataSourceUpdateMode updateMode, object nullValue, string formatString) { return Add(propertyName, dataSource, dataMember, formattingEnabled, updateMode, nullValue, formatString, null); } /// public Binding Add(string propertyName, object dataSource, string dataMember, bool formattingEnabled, DataSourceUpdateMode updateMode, object nullValue, string formatString, IFormatProvider formatInfo) { if (dataSource == null) throw new ArgumentNullException("dataSource"); Binding binding = new Binding(propertyName, dataSource, dataMember, formattingEnabled, updateMode, nullValue, formatString, formatInfo); Add(binding); return binding; } /// /// /// Creates the binding and adds it to the collection. An InvalidBindingException is thrown /// if this binding can't be constructed. An exception is thrown if a binding to the same target and Property as an existing binding or /// if the binding's column isn't a valid column given this DataSource.Table's schema. /// Fires the CollectionChangedEvent. /// protected override void AddCore(Binding dataBinding) { if (dataBinding == null) throw new ArgumentNullException("dataBinding"); if (dataBinding.BindableComponent == control) throw new ArgumentException(SR.GetString(SR.BindingsCollectionAdd1)); if (dataBinding.BindableComponent != null) throw new ArgumentException(SR.GetString(SR.BindingsCollectionAdd2)); // important to set prop first for error checking. dataBinding.SetBindableComponent(control); base.AddCore(dataBinding); } // internalonly internal void CheckDuplicates(Binding binding) { if (binding.PropertyName.Length == 0) { return; } for (int i = 0; i < Count; i++) { if (binding != this[i] && this[i].PropertyName.Length > 0 && (String.Compare(binding.PropertyName, this[i].PropertyName, false, CultureInfo.InvariantCulture) == 0)) { throw new ArgumentException(SR.GetString(SR.BindingsCollectionDup), "binding"); } } } ////// /// Clears the collection of any bindings. /// Fires the CollectionChangedEvent. /// public new void Clear() { base.Clear(); } // internalonly ////// /// protected override void ClearCore() { int numLinks = Count; for (int i = 0; i < numLinks; i++) { Binding dataBinding = this[i]; dataBinding.SetBindableComponent(null); } base.ClearCore(); } ///[To be supplied.] ////// /// public DataSourceUpdateMode DefaultDataSourceUpdateMode { get { return defaultDataSourceUpdateMode; } set { defaultDataSourceUpdateMode = value; } } ////// /// Removes the given binding from the collection. /// An ArgumentNullException is thrown if this binding is null. An ArgumentException is thrown /// if this binding doesn't belong to this collection. /// The CollectionChanged event is fired if it succeeds. /// public new void Remove(Binding binding) { base.Remove(binding); } ////// /// Removes the given binding from the collection. /// It throws an IndexOutOfRangeException if this doesn't have /// a valid binding. /// The CollectionChanged event is fired if it succeeds. /// public new void RemoveAt(int index) { base.RemoveAt(index); } ////// /// protected override void RemoveCore(Binding dataBinding) { if (dataBinding.BindableComponent != control) throw new ArgumentException(SR.GetString(SR.BindingsCollectionForeign)); dataBinding.SetBindableComponent(null); base.RemoveCore(dataBinding); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.[To be supplied.] ///
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ParameterCollection.cs
- DesignerAutoFormatCollection.cs
- WindowsBrush.cs
- ObservableDictionary.cs
- Condition.cs
- XmlDataCollection.cs
- LogRecordSequence.cs
- TableRowCollection.cs
- ApplicationTrust.cs
- QilPatternVisitor.cs
- DeviceContexts.cs
- ScrollChangedEventArgs.cs
- HwndTarget.cs
- TextRangeProviderWrapper.cs
- RowParagraph.cs
- Send.cs
- RecognizerInfo.cs
- DocumentGridPage.cs
- WhereQueryOperator.cs
- ClientViaElement.cs
- __Filters.cs
- DeviceFilterDictionary.cs
- TraceSection.cs
- AnnotationResourceCollection.cs
- PageAsyncTaskManager.cs
- Compiler.cs
- ExternalDataExchangeClient.cs
- SpecularMaterial.cs
- XmlFileEditor.cs
- SubclassTypeValidator.cs
- DocumentsTrace.cs
- ManifestSignedXml.cs
- ScrollChrome.cs
- HttpWriter.cs
- TraceXPathNavigator.cs
- SecurityUniqueId.cs
- RelatedPropertyManager.cs
- SQLMembershipProvider.cs
- EncoderExceptionFallback.cs
- GeneralTransformCollection.cs
- ProxyAttribute.cs
- PeerCollaborationPermission.cs
- EditorPartChrome.cs
- StateDesigner.CommentLayoutGlyph.cs
- TemplatedWizardStep.cs
- NumberFunctions.cs
- ConfigurationPropertyCollection.cs
- BackoffTimeoutHelper.cs
- FixedSOMLineCollection.cs
- EntityContainerEmitter.cs
- CollectionBuilder.cs
- SQLResource.cs
- AuthenticationModuleElement.cs
- DeviceContexts.cs
- HtmlFormWrapper.cs
- WpfXamlType.cs
- TableLayoutStyleCollection.cs
- RuntimeCompatibilityAttribute.cs
- WSSecurityOneDotZeroSendSecurityHeader.cs
- ProfileModule.cs
- invalidudtexception.cs
- StructureChangedEventArgs.cs
- ProfileEventArgs.cs
- HttpWriter.cs
- GridProviderWrapper.cs
- JoinCqlBlock.cs
- DataSourceView.cs
- SystemPens.cs
- XmlConverter.cs
- StickyNoteAnnotations.cs
- RecordsAffectedEventArgs.cs
- CompiledAction.cs
- MDIWindowDialog.cs
- SqlReferenceCollection.cs
- DataGridItem.cs
- mediaclock.cs
- CodeTypeMemberCollection.cs
- Point.cs
- FlowDocumentPage.cs
- ToolStripDropDownClosedEventArgs.cs
- NumberAction.cs
- Codec.cs
- BindValidationContext.cs
- InputScope.cs
- login.cs
- DeclarationUpdate.cs
- BindingManagerDataErrorEventArgs.cs
- ButtonFieldBase.cs
- EdmType.cs
- ProvideValueServiceProvider.cs
- ComponentChangedEvent.cs
- IsolatedStorageFileStream.cs
- OracleBoolean.cs
- FormsAuthenticationCredentials.cs
- DispatcherHookEventArgs.cs
- ObjectViewEntityCollectionData.cs
- DetailsViewUpdatedEventArgs.cs
- xmlglyphRunInfo.cs
- StringFreezingAttribute.cs
- Soap.cs