Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / xsp / System / Web / UI / WebControls / ErrorStyle.cs / 2 / ErrorStyle.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.Web.UI.WebControls { using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Drawing; // A derived Style class with the default ForeColor set to Color.Red instead of Color.Empty internal sealed class ErrorStyle : Style, ICustomTypeDescriptor { public ErrorStyle() : 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 } }
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- DebuggerAttributes.cs
- BrowsableAttribute.cs
- BinaryObjectReader.cs
- Point4D.cs
- SHA384.cs
- NamespaceQuery.cs
- ExpandCollapsePattern.cs
- BitmapDownload.cs
- StrongNameMembershipCondition.cs
- FrugalMap.cs
- KeyNotFoundException.cs
- PathFigureCollection.cs
- SchemaImporterExtension.cs
- TraversalRequest.cs
- KeyBinding.cs
- SettingsProviderCollection.cs
- LocatorManager.cs
- AdRotator.cs
- XmlCompatibilityReader.cs
- PropertyGeneratedEventArgs.cs
- HtmlSelect.cs
- DiscoveryOperationContext.cs
- SqlConnectionStringBuilder.cs
- AxisAngleRotation3D.cs
- StrongNameUtility.cs
- HtmlTextViewAdapter.cs
- GridSplitterAutomationPeer.cs
- RegexGroup.cs
- DeviceContexts.cs
- RowSpanVector.cs
- BridgeDataReader.cs
- XPathNodeInfoAtom.cs
- ChannelSettingsElement.cs
- ClientConfigPaths.cs
- WebPartChrome.cs
- Listbox.cs
- ArrayWithOffset.cs
- FrameworkContentElementAutomationPeer.cs
- RemotingConfigParser.cs
- PolyLineSegment.cs
- GridProviderWrapper.cs
- TreeViewEvent.cs
- Expressions.cs
- securitycriticaldataformultiplegetandset.cs
- XmlAttributes.cs
- FunctionQuery.cs
- DetailsViewDeletedEventArgs.cs
- BaseValidator.cs
- XmlSchemaGroupRef.cs
- MeshGeometry3D.cs
- PerformanceCounterCategory.cs
- HttpSysSettings.cs
- XmlWhitespace.cs
- ProfileService.cs
- DynamicValueConverter.cs
- CompositeFontFamily.cs
- ElementsClipboardData.cs
- ObjectParameterCollection.cs
- ProcessModuleCollection.cs
- CoreSwitches.cs
- CheckoutException.cs
- MatrixTransform3D.cs
- FilterRepeater.cs
- Tokenizer.cs
- IPEndPoint.cs
- Array.cs
- FormsAuthenticationUser.cs
- XsltLibrary.cs
- EditorZoneBase.cs
- DrawingContext.cs
- WrappedKeySecurityTokenParameters.cs
- GradientStop.cs
- ValidationErrorCollection.cs
- MouseWheelEventArgs.cs
- RegexGroup.cs
- WorkflowDispatchContext.cs
- Brush.cs
- ReceiveActivityDesignerTheme.cs
- MsmqHostedTransportConfiguration.cs
- PointAnimation.cs
- NetWebProxyFinder.cs
- SignatureToken.cs
- DrawingVisualDrawingContext.cs
- Highlights.cs
- SelectedDatesCollection.cs
- User.cs
- ScrollViewer.cs
- CodeMethodInvokeExpression.cs
- PackageDigitalSignatureManager.cs
- TextTreeRootNode.cs
- DeploymentSection.cs
- Condition.cs
- PeerObject.cs
- XmlSchemaObject.cs
- SmiContextFactory.cs
- ClientRuntimeConfig.cs
- XmlReflectionImporter.cs
- TextBoxBaseDesigner.cs
- TdsValueSetter.cs
- JumpItem.cs