Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / whidbey / netfxsp / ndp / fx / src / xsp / System / Web / UI / WebControls / ErrorTableItemStyle.cs / 5 / 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. // //----------------------------------------------------------------------------- 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TextRangeProviderWrapper.cs
- MatrixCamera.cs
- AssemblyAttributes.cs
- PersonalizableTypeEntry.cs
- SoapIgnoreAttribute.cs
- ButtonColumn.cs
- SqlUtil.cs
- PopupRoot.cs
- SafeNativeMethods.cs
- DbConnectionPoolIdentity.cs
- JobStaple.cs
- Method.cs
- VsPropertyGrid.cs
- SqlNodeTypeOperators.cs
- RegionInfo.cs
- Camera.cs
- TransformConverter.cs
- SendMailErrorEventArgs.cs
- RequestCacheValidator.cs
- OleDbParameterCollection.cs
- TextInfo.cs
- DataSourceHelper.cs
- IgnoreFlushAndCloseStream.cs
- MetadataFile.cs
- StringDictionary.cs
- MembershipSection.cs
- XmlSchemaComplexContent.cs
- IndexOutOfRangeException.cs
- UserControl.cs
- RuntimeHandles.cs
- SystemEvents.cs
- SwitchElementsCollection.cs
- NotifyCollectionChangedEventArgs.cs
- FontStyles.cs
- PropertyTab.cs
- DataSourceListEditor.cs
- DataGridViewButtonColumn.cs
- EncodingDataItem.cs
- SamlAuthorizationDecisionStatement.cs
- Action.cs
- ToolStripDropTargetManager.cs
- XmlSiteMapProvider.cs
- CreateUserWizard.cs
- Deserializer.cs
- Privilege.cs
- ArrayWithOffset.cs
- GlyphElement.cs
- PromptStyle.cs
- UsernameTokenFactoryCredential.cs
- WSSecureConversation.cs
- MasterPageCodeDomTreeGenerator.cs
- OrthographicCamera.cs
- ObjectItemAttributeAssemblyLoader.cs
- DataGridViewAdvancedBorderStyle.cs
- PixelFormats.cs
- Soap.cs
- XmlSignatureProperties.cs
- PageAsyncTaskManager.cs
- ViewKeyConstraint.cs
- SoapHttpTransportImporter.cs
- IndexedWhereQueryOperator.cs
- Vector3DAnimationBase.cs
- Line.cs
- OutputScopeManager.cs
- BaseDataBoundControl.cs
- AuthenticationManager.cs
- ParentUndoUnit.cs
- DoubleAverageAggregationOperator.cs
- GreenMethods.cs
- TransformationRules.cs
- RenderCapability.cs
- COM2Properties.cs
- System.Data_BID.cs
- XmlSchemaGroupRef.cs
- OpenFileDialog.cs
- BinaryParser.cs
- QueryGenerator.cs
- ContentValidator.cs
- BypassElementCollection.cs
- ProgressBarBrushConverter.cs
- DataDocumentXPathNavigator.cs
- ResourceProperty.cs
- StateMachineHelpers.cs
- SocketInformation.cs
- PageVisual.cs
- RenderDataDrawingContext.cs
- COM2TypeInfoProcessor.cs
- XhtmlConformanceSection.cs
- StringPropertyBuilder.cs
- SimpleBitVector32.cs
- ShaperBuffers.cs
- ReadOnlyCollectionBase.cs
- Translator.cs
- Paragraph.cs
- Application.cs
- InternalControlCollection.cs
- TextTreeExtractElementUndoUnit.cs
- TokenBasedSetEnumerator.cs
- XamlBrushSerializer.cs
- PerformanceCounterCategory.cs