Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / whidbey / NetFXspW7 / ndp / fx / src / WinForms / Managed / System / WinForms / PropertyManager.cs / 1 / PropertyManager.cs
namespace System.Windows.Forms {
using System;
using System.Windows.Forms;
using System.Diagnostics.CodeAnalysis;
using System.ComponentModel;
using System.Collections;
///
///
/// [To be supplied.]
///
public class PropertyManager : BindingManagerBase {
// PropertyManager class
//
private object dataSource;
private string propName;
private PropertyDescriptor propInfo;
private bool bound;
///
///
/// [To be supplied.]
///
public override Object Current {
get {
return this.dataSource;
}
}
private void PropertyChanged(object sender, EventArgs ea) {
EndCurrentEdit();
OnCurrentChanged(EventArgs.Empty);
}
internal override void SetDataSource(Object dataSource) {
if (this.dataSource != null && !String.IsNullOrEmpty(this.propName)) {
propInfo.RemoveValueChanged(this.dataSource, new EventHandler(PropertyChanged));
propInfo = null;
}
this.dataSource = dataSource;
if (this.dataSource != null && !String.IsNullOrEmpty(this.propName)) {
propInfo = TypeDescriptor.GetProperties(dataSource).Find(propName, true);
if (propInfo == null)
throw new ArgumentException(SR.GetString(SR.PropertyManagerPropDoesNotExist, propName, dataSource.ToString()));
propInfo.AddValueChanged(dataSource, new EventHandler(PropertyChanged));
}
}
///
///
/// [To be supplied.]
///
public PropertyManager() {}
[
SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors") // If the constructor does not set the dataSource
// it would be a breaking change.
]
internal PropertyManager(Object dataSource) : base(dataSource){}
[
SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors") // If the constructor does not set the dataSource
// it would be a breaking change.
]
internal PropertyManager(Object dataSource, string propName) : base() {
this.propName = propName;
this.SetDataSource(dataSource);
}
internal override PropertyDescriptorCollection GetItemProperties(PropertyDescriptor[] listAccessors) {
return ListBindingHelper.GetListItemProperties(dataSource, listAccessors);
}
internal override Type BindType {
get {
return dataSource.GetType();
}
}
internal override String GetListName() {
return TypeDescriptor.GetClassName(dataSource) + "." + propName;
}
///
public override void SuspendBinding() {
EndCurrentEdit();
if (bound) {
try {
bound = false;
UpdateIsBinding();
} catch {
bound = true;
UpdateIsBinding();
throw;
}
}
}
///
public override void ResumeBinding() {
OnCurrentChanged(new EventArgs());
if (!bound) {
try {
bound = true;
UpdateIsBinding();
} catch {
bound = false;
UpdateIsBinding();
throw;
}
}
}
///
///
/// [To be supplied.]
///
protected internal override String GetListName(ArrayList listAccessors) {
return "";
}
///
///
/// [To be supplied.]
///
public override void CancelCurrentEdit() {
IEditableObject obj = this.Current as IEditableObject;
if (obj != null)
obj.CancelEdit();
PushData();
}
///
///
/// [To be supplied.]
///
public override void EndCurrentEdit() {
bool success;
PullData(out success);
if (success) {
IEditableObject obj = this.Current as IEditableObject;
if (obj != null)
obj.EndEdit();
}
}
///
///
/// [To be supplied.]
///
protected override void UpdateIsBinding() {
for (int i = 0; i < this.Bindings.Count; i++)
this.Bindings[i].UpdateIsBinding();
}
///
///
/// [To be supplied.]
///
internal protected override void OnCurrentChanged(EventArgs ea) {
PushData();
if (this.onCurrentChangedHandler != null)
this.onCurrentChangedHandler(this, ea);
if (this.onCurrentItemChangedHandler != null)
this.onCurrentItemChangedHandler(this, ea);
}
///
///
/// [To be supplied.]
///
internal protected override void OnCurrentItemChanged(EventArgs ea) {
PushData();
if (this.onCurrentItemChangedHandler != null)
this.onCurrentItemChangedHandler(this, ea);
}
internal override object DataSource {
get {
return this.dataSource;
}
}
internal override bool IsBinding {
get {
return (dataSource != null);
}
}
// no op on the propertyManager
///
///
/// [To be supplied.]
///
public override int Position {
get {
return 0;
}
set {
}
}
///
public override int Count {
get {
return 1;
}
}
// no-op on the propertyManager
///
///
/// [To be supplied.]
///
public override void AddNew() {
throw new NotSupportedException(SR.GetString(SR.DataBindingAddNewNotSupportedOnPropertyManager));
}
// no-op on the propertyManager
///
///
/// [To be supplied.]
///
public override void RemoveAt(int index) {
throw new NotSupportedException(SR.GetString(SR.DataBindingRemoveAtNotSupportedOnPropertyManager));
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
namespace System.Windows.Forms {
using System;
using System.Windows.Forms;
using System.Diagnostics.CodeAnalysis;
using System.ComponentModel;
using System.Collections;
///
///
/// [To be supplied.]
///
public class PropertyManager : BindingManagerBase {
// PropertyManager class
//
private object dataSource;
private string propName;
private PropertyDescriptor propInfo;
private bool bound;
///
///
/// [To be supplied.]
///
public override Object Current {
get {
return this.dataSource;
}
}
private void PropertyChanged(object sender, EventArgs ea) {
EndCurrentEdit();
OnCurrentChanged(EventArgs.Empty);
}
internal override void SetDataSource(Object dataSource) {
if (this.dataSource != null && !String.IsNullOrEmpty(this.propName)) {
propInfo.RemoveValueChanged(this.dataSource, new EventHandler(PropertyChanged));
propInfo = null;
}
this.dataSource = dataSource;
if (this.dataSource != null && !String.IsNullOrEmpty(this.propName)) {
propInfo = TypeDescriptor.GetProperties(dataSource).Find(propName, true);
if (propInfo == null)
throw new ArgumentException(SR.GetString(SR.PropertyManagerPropDoesNotExist, propName, dataSource.ToString()));
propInfo.AddValueChanged(dataSource, new EventHandler(PropertyChanged));
}
}
///
///
/// [To be supplied.]
///
public PropertyManager() {}
[
SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors") // If the constructor does not set the dataSource
// it would be a breaking change.
]
internal PropertyManager(Object dataSource) : base(dataSource){}
[
SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors") // If the constructor does not set the dataSource
// it would be a breaking change.
]
internal PropertyManager(Object dataSource, string propName) : base() {
this.propName = propName;
this.SetDataSource(dataSource);
}
internal override PropertyDescriptorCollection GetItemProperties(PropertyDescriptor[] listAccessors) {
return ListBindingHelper.GetListItemProperties(dataSource, listAccessors);
}
internal override Type BindType {
get {
return dataSource.GetType();
}
}
internal override String GetListName() {
return TypeDescriptor.GetClassName(dataSource) + "." + propName;
}
///
public override void SuspendBinding() {
EndCurrentEdit();
if (bound) {
try {
bound = false;
UpdateIsBinding();
} catch {
bound = true;
UpdateIsBinding();
throw;
}
}
}
///
public override void ResumeBinding() {
OnCurrentChanged(new EventArgs());
if (!bound) {
try {
bound = true;
UpdateIsBinding();
} catch {
bound = false;
UpdateIsBinding();
throw;
}
}
}
///
///
/// [To be supplied.]
///
protected internal override String GetListName(ArrayList listAccessors) {
return "";
}
///
///
/// [To be supplied.]
///
public override void CancelCurrentEdit() {
IEditableObject obj = this.Current as IEditableObject;
if (obj != null)
obj.CancelEdit();
PushData();
}
///
///
/// [To be supplied.]
///
public override void EndCurrentEdit() {
bool success;
PullData(out success);
if (success) {
IEditableObject obj = this.Current as IEditableObject;
if (obj != null)
obj.EndEdit();
}
}
///
///
/// [To be supplied.]
///
protected override void UpdateIsBinding() {
for (int i = 0; i < this.Bindings.Count; i++)
this.Bindings[i].UpdateIsBinding();
}
///
///
/// [To be supplied.]
///
internal protected override void OnCurrentChanged(EventArgs ea) {
PushData();
if (this.onCurrentChangedHandler != null)
this.onCurrentChangedHandler(this, ea);
if (this.onCurrentItemChangedHandler != null)
this.onCurrentItemChangedHandler(this, ea);
}
///
///
/// [To be supplied.]
///
internal protected override void OnCurrentItemChanged(EventArgs ea) {
PushData();
if (this.onCurrentItemChangedHandler != null)
this.onCurrentItemChangedHandler(this, ea);
}
internal override object DataSource {
get {
return this.dataSource;
}
}
internal override bool IsBinding {
get {
return (dataSource != null);
}
}
// no op on the propertyManager
///
///
/// [To be supplied.]
///
public override int Position {
get {
return 0;
}
set {
}
}
///
public override int Count {
get {
return 1;
}
}
// no-op on the propertyManager
///
///
/// [To be supplied.]
///
public override void AddNew() {
throw new NotSupportedException(SR.GetString(SR.DataBindingAddNewNotSupportedOnPropertyManager));
}
// no-op on the propertyManager
///
///
/// [To be supplied.]
///
public override void RemoveAt(int index) {
throw new NotSupportedException(SR.GetString(SR.DataBindingRemoveAtNotSupportedOnPropertyManager));
}
}
}
// File provided for Reference Use Only by Microsoft Corporation (c) 2007.
// Copyright (c) Microsoft Corporation. All rights reserved.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- ObjectStateEntryDbDataRecord.cs
- SafeNativeMethods.cs
- DependencyPropertyConverter.cs
- EncoderParameter.cs
- RuntimeArgumentHandle.cs
- Viewport3DVisual.cs
- XmlAttribute.cs
- HuffmanTree.cs
- Menu.cs
- HttpChannelFactory.cs
- CodeTypeDeclarationCollection.cs
- MatrixTransform3D.cs
- CounterCreationDataCollection.cs
- StyleXamlParser.cs
- ByteStack.cs
- Avt.cs
- SrgsElement.cs
- MessageBox.cs
- Main.cs
- StaticFileHandler.cs
- ToolStripEditorManager.cs
- ImagingCache.cs
- DataSysAttribute.cs
- PasswordRecoveryDesigner.cs
- XmlDataDocument.cs
- WebPartDescription.cs
- BindingWorker.cs
- LinearKeyFrames.cs
- EdmError.cs
- BindStream.cs
- PageAsyncTaskManager.cs
- CustomActivityDesigner.cs
- XmlAttributeOverrides.cs
- CompilationUtil.cs
- CookieProtection.cs
- PersonalizablePropertyEntry.cs
- objectresult_tresulttype.cs
- WindowShowOrOpenTracker.cs
- SharedStatics.cs
- Random.cs
- EntityDataSourceEntityTypeFilterConverter.cs
- ListViewSelectEventArgs.cs
- DataMisalignedException.cs
- AsymmetricSignatureDeformatter.cs
- SvcMapFileLoader.cs
- Clock.cs
- AuthenticatingEventArgs.cs
- WebPartConnectionsConfigureVerb.cs
- HttpListener.cs
- SqlTopReducer.cs
- XmlSerializationReader.cs
- TypedTableBase.cs
- Parsers.cs
- LinqMaximalSubtreeNominator.cs
- TextShapeableCharacters.cs
- DispatcherFrame.cs
- PrtTicket_Base.cs
- TypeConverterValueSerializer.cs
- SafeRegistryHandle.cs
- GACIdentityPermission.cs
- BinaryMethodMessage.cs
- SchemaTableColumn.cs
- SystemIPAddressInformation.cs
- HijriCalendar.cs
- TimeoutTimer.cs
- X509CertificateCollection.cs
- ElementHostPropertyMap.cs
- WmlValidatorAdapter.cs
- RangeValidator.cs
- DecoderExceptionFallback.cs
- ScrollEvent.cs
- CollectionView.cs
- CodeSubDirectory.cs
- HyperLinkColumn.cs
- XmlAutoDetectWriter.cs
- ZipFileInfo.cs
- ReadOnlyTernaryTree.cs
- TemplateControlBuildProvider.cs
- OleDbRowUpdatingEvent.cs
- DefaultValueConverter.cs
- ActiveXSite.cs
- IndentTextWriter.cs
- DataTableMapping.cs
- FilteredDataSetHelper.cs
- PathGeometry.cs
- ListViewDeletedEventArgs.cs
- VSWCFServiceContractGenerator.cs
- X509WindowsSecurityToken.cs
- OracleCommand.cs
- TextSelectionHighlightLayer.cs
- LinkedList.cs
- CookieProtection.cs
- ThreadPool.cs
- BasicExpressionVisitor.cs
- TransformerTypeCollection.cs
- AdjustableArrowCap.cs
- ManipulationDelta.cs
- WebZone.cs
- Border.cs
- HelpProvider.cs