Code:
/ FXUpdate3074 / FXUpdate3074 / 1.1 / DEVDIV / depot / DevDiv / releases / whidbey / QFE / ndp / fx / src / xsp / System / Web / UI / WebControls / ErrorTableItemStyle.cs / 2 / ErrorTableItemStyle.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.ComponentModel; using System.Drawing; // A derived TableItemStyle class with the default ForeColor set to Color.Red instead of Color.Empty internal sealed class ErrorTableItemStyle : TableItemStyle, ICustomTypeDescriptor { public ErrorTableItemStyle() : base() { ForeColor = Color.Red; } #region ICustomTypeDesciptor implementation AttributeCollection ICustomTypeDescriptor.GetAttributes() { return TypeDescriptor.GetAttributes(this, true); } string ICustomTypeDescriptor.GetClassName() { return TypeDescriptor.GetClassName(this, true); } string ICustomTypeDescriptor.GetComponentName() { return TypeDescriptor.GetComponentName(this, true); } TypeConverter ICustomTypeDescriptor.GetConverter() { return TypeDescriptor.GetConverter(this, true); } EventDescriptor ICustomTypeDescriptor.GetDefaultEvent() { return TypeDescriptor.GetDefaultEvent(this, true); } PropertyDescriptor ICustomTypeDescriptor.GetDefaultProperty() { return TypeDescriptor.GetDefaultProperty(this, true); } object ICustomTypeDescriptor.GetEditor(Type editorBaseType) { return TypeDescriptor.GetEditor(this, editorBaseType, true); } EventDescriptorCollection ICustomTypeDescriptor.GetEvents() { return TypeDescriptor.GetEvents(this, true); } EventDescriptorCollection ICustomTypeDescriptor.GetEvents(Attribute[] attributes) { return TypeDescriptor.GetEvents(this, attributes, true); } PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties() { return ((ICustomTypeDescriptor)this).GetProperties(null); } PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties(Attribute[] attributes) { PropertyDescriptorCollection oldProperties = TypeDescriptor.GetProperties(GetType(), attributes); PropertyDescriptor[] newProperties = new PropertyDescriptor[oldProperties.Count]; PropertyDescriptor foreColor = oldProperties["ForeColor"]; for (int i=0; i < oldProperties.Count; i++) { PropertyDescriptor property = oldProperties[i]; if (property == foreColor) { newProperties[i] = TypeDescriptor.CreateProperty( GetType(), property, new DefaultValueAttribute(typeof(Color), "Red")); } else { newProperties[i] = property; } } return new PropertyDescriptorCollection(newProperties, true); } object ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor pd) { return this; } #endregion //ICustomTypeDescriptor implementation } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. // Copyright (c) Microsoft Corporation. All rights reserved. //------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.ComponentModel; using System.Drawing; // A derived TableItemStyle class with the default ForeColor set to Color.Red instead of Color.Empty internal sealed class ErrorTableItemStyle : TableItemStyle, ICustomTypeDescriptor { public ErrorTableItemStyle() : base() { ForeColor = Color.Red; } #region ICustomTypeDesciptor implementation AttributeCollection ICustomTypeDescriptor.GetAttributes() { return TypeDescriptor.GetAttributes(this, true); } string ICustomTypeDescriptor.GetClassName() { return TypeDescriptor.GetClassName(this, true); } string ICustomTypeDescriptor.GetComponentName() { return TypeDescriptor.GetComponentName(this, true); } TypeConverter ICustomTypeDescriptor.GetConverter() { return TypeDescriptor.GetConverter(this, true); } EventDescriptor ICustomTypeDescriptor.GetDefaultEvent() { return TypeDescriptor.GetDefaultEvent(this, true); } PropertyDescriptor ICustomTypeDescriptor.GetDefaultProperty() { return TypeDescriptor.GetDefaultProperty(this, true); } object ICustomTypeDescriptor.GetEditor(Type editorBaseType) { return TypeDescriptor.GetEditor(this, editorBaseType, true); } EventDescriptorCollection ICustomTypeDescriptor.GetEvents() { return TypeDescriptor.GetEvents(this, true); } EventDescriptorCollection ICustomTypeDescriptor.GetEvents(Attribute[] attributes) { return TypeDescriptor.GetEvents(this, attributes, true); } PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties() { return ((ICustomTypeDescriptor)this).GetProperties(null); } PropertyDescriptorCollection ICustomTypeDescriptor.GetProperties(Attribute[] attributes) { PropertyDescriptorCollection oldProperties = TypeDescriptor.GetProperties(GetType(), attributes); PropertyDescriptor[] newProperties = new PropertyDescriptor[oldProperties.Count]; PropertyDescriptor foreColor = oldProperties["ForeColor"]; for (int i=0; i < oldProperties.Count; i++) { PropertyDescriptor property = oldProperties[i]; if (property == foreColor) { newProperties[i] = TypeDescriptor.CreateProperty( GetType(), property, new DefaultValueAttribute(typeof(Color), "Red")); } else { newProperties[i] = property; } } return new PropertyDescriptorCollection(newProperties, true); } object ICustomTypeDescriptor.GetPropertyOwner(PropertyDescriptor pd) { return this; } #endregion //ICustomTypeDescriptor implementation } } // 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
- Emitter.cs
- ReferenceSchema.cs
- ExternalFile.cs
- AppDomainFactory.cs
- PointF.cs
- CodeSnippetExpression.cs
- ListViewItemCollectionEditor.cs
- VirtualizedCellInfoCollection.cs
- ControlPaint.cs
- DeferredElementTreeState.cs
- PermissionSetEnumerator.cs
- XamlWriter.cs
- _NativeSSPI.cs
- _HeaderInfoTable.cs
- DPCustomTypeDescriptor.cs
- MappingMetadataHelper.cs
- SrgsElementList.cs
- BaseParaClient.cs
- CopyNamespacesAction.cs
- COM2ExtendedUITypeEditor.cs
- CompilerLocalReference.cs
- DesignerImageAdapter.cs
- ActivityStateQuery.cs
- TextContainerHelper.cs
- FilterQuery.cs
- TagNameToTypeMapper.cs
- BaseProcessor.cs
- typedescriptorpermission.cs
- ParserExtension.cs
- TextSpanModifier.cs
- StorageTypeMapping.cs
- UrlMappingsModule.cs
- DataChangedEventManager.cs
- Object.cs
- RequestCacheValidator.cs
- RawMouseInputReport.cs
- TextStore.cs
- AsyncResult.cs
- UIElementParaClient.cs
- _FtpControlStream.cs
- UInt16Converter.cs
- CommandBinding.cs
- InvalidOperationException.cs
- MailAddress.cs
- EndEvent.cs
- ThreadStartException.cs
- StructuredTypeEmitter.cs
- MessageQueueKey.cs
- Emitter.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- FormView.cs
- RecordManager.cs
- AxWrapperGen.cs
- InputProcessorProfiles.cs
- TransactionProtocol.cs
- DataControlFieldCell.cs
- SecurityException.cs
- MouseActionValueSerializer.cs
- DataGridViewRowsAddedEventArgs.cs
- DataGridViewRowStateChangedEventArgs.cs
- Hash.cs
- DatagridviewDisplayedBandsData.cs
- ScrollableControl.cs
- ErrorHandler.cs
- TextEditorContextMenu.cs
- ScriptIgnoreAttribute.cs
- VectorValueSerializer.cs
- Camera.cs
- SqlTriggerContext.cs
- ControlBuilderAttribute.cs
- XmlCodeExporter.cs
- precedingquery.cs
- DataSourceSelectArguments.cs
- FreezableDefaultValueFactory.cs
- SnapLine.cs
- ItemsPresenter.cs
- RegexInterpreter.cs
- DataGridPageChangedEventArgs.cs
- VisualTreeHelper.cs
- DataStreams.cs
- FontWeightConverter.cs
- Point3DAnimation.cs
- WizardForm.cs
- WebPartZoneCollection.cs
- IOException.cs
- GcHandle.cs
- EditorZoneBase.cs
- Helpers.cs
- Confirm.cs
- ResXFileRef.cs
- PlaceHolder.cs
- MessageBox.cs
- GlobalItem.cs
- ServiceDescriptionReflector.cs
- HttpCacheParams.cs
- ProtectedConfiguration.cs
- PageCatalogPart.cs
- RefExpr.cs
- RoutingSection.cs
- MethodBuilderInstantiation.cs