Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / xsp / System / Web / UI / WebControls / ErrorTableItemStyle.cs / 1305376 / 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
- UidManager.cs
- DataGridCaption.cs
- SchemaComplexType.cs
- NativeObjectSecurity.cs
- TagPrefixInfo.cs
- CaseStatementSlot.cs
- MarginCollapsingState.cs
- FlagsAttribute.cs
- AppearanceEditorPart.cs
- ExceptionHandlerDesigner.cs
- Bezier.cs
- DesignerView.cs
- ResourceReader.cs
- OneOfElement.cs
- ReaderContextStackData.cs
- DataGridViewCellValidatingEventArgs.cs
- XmlSchemaException.cs
- RegistryExceptionHelper.cs
- CapabilitiesAssignment.cs
- HttpWriter.cs
- XmlArrayItemAttribute.cs
- PropertyTabAttribute.cs
- AmbientProperties.cs
- DbParameterHelper.cs
- DrawingContextWalker.cs
- SqlUDTStorage.cs
- QuaternionRotation3D.cs
- ChtmlTextBoxAdapter.cs
- ResourceManager.cs
- RelativeSource.cs
- DesignerAdapterAttribute.cs
- KnownBoxes.cs
- PersonalizationAdministration.cs
- RepeatInfo.cs
- Trigger.cs
- SqlAliaser.cs
- TypeSystemHelpers.cs
- EditorPartDesigner.cs
- Comparer.cs
- AttachedPropertyBrowsableAttribute.cs
- XmlDataLoader.cs
- SqlGatherConsumedAliases.cs
- CustomCategoryAttribute.cs
- KeyInstance.cs
- Permission.cs
- DataGridRow.cs
- CodeConstructor.cs
- CompiledRegexRunner.cs
- RuntimeConfig.cs
- TimeSpanMinutesConverter.cs
- BitmapCodecInfo.cs
- Binding.cs
- MenuCommands.cs
- SingleObjectCollection.cs
- IdentitySection.cs
- Connector.xaml.cs
- FocusManager.cs
- AtomParser.cs
- Exceptions.cs
- EntityDesignerBuildProvider.cs
- BasicCellRelation.cs
- SelectionPattern.cs
- ArcSegment.cs
- WebFormsRootDesigner.cs
- Crypto.cs
- DesignerCapabilities.cs
- UIPropertyMetadata.cs
- TypeDelegator.cs
- TimeoutException.cs
- SizeValueSerializer.cs
- ImmComposition.cs
- OperationGenerator.cs
- DecimalAnimationUsingKeyFrames.cs
- CompilerErrorCollection.cs
- EarlyBoundInfo.cs
- CategoryList.cs
- GridViewAutoFormat.cs
- TextTreeDeleteContentUndoUnit.cs
- DoubleKeyFrameCollection.cs
- AssemblyAttributesGoHere.cs
- PresentationAppDomainManager.cs
- SystemNetworkInterface.cs
- _NestedMultipleAsyncResult.cs
- XmlCharacterData.cs
- SignatureHelper.cs
- GridViewColumnHeaderAutomationPeer.cs
- HwndHost.cs
- TextTreeRootNode.cs
- WorkflowApplication.cs
- DispatcherTimer.cs
- OutputCacheSection.cs
- PrintPageEvent.cs
- PlacementWorkspace.cs
- VideoDrawing.cs
- QueryPageSettingsEventArgs.cs
- HttpRequest.cs
- DoubleLink.cs
- LoginName.cs
- Errors.cs
- ColorTranslator.cs