Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / CompMod / System / ComponentModel / Design / RuntimeComponentFilter.cs / 1 / RuntimeComponentFilter.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- /* */ namespace System.ComponentModel.Design { using System.Design; using System.Runtime.InteropServices; using System.ComponentModel; using System.Diagnostics; using System; using System.Collections; using System.Reflection; using System.Windows.Forms; using Microsoft.Win32; using System.Windows.Forms.Design; using System.Windows.Forms.ComponentModel; internal static class RuntimeComponentFilter { public static void FilterProperties(IDictionary properties, ICollection makeReadWrite, ICollection makeBrowsable) { FilterProperties(properties, makeReadWrite, makeBrowsable, null); } public static void FilterProperties(IDictionary properties, ICollection makeReadWrite, ICollection makeBrowsable, bool[] browsableSettings) { if (makeReadWrite != null) { foreach (string name in makeReadWrite) { PropertyDescriptor readOnlyProp = properties[name] as PropertyDescriptor; if (readOnlyProp != null) { properties[name] = TypeDescriptor.CreateProperty(readOnlyProp.ComponentType, readOnlyProp, ReadOnlyAttribute.No); } else { Debug.Fail("Didn't find property '" + name + "' to make read/write"); } } } if (makeBrowsable != null) { int count = -1; Debug.Assert(browsableSettings == null || browsableSettings.Length == makeBrowsable.Count, "browsableSettings must be null or same length as makeBrowsable"); foreach (string name in makeBrowsable) { PropertyDescriptor nonBrowsableProp = properties[name] as PropertyDescriptor; count++; if (nonBrowsableProp != null) { Attribute browse; if (browsableSettings == null || browsableSettings[count]) { browse = BrowsableAttribute.Yes; } else { browse = BrowsableAttribute.No; } properties[name] = TypeDescriptor.CreateProperty(nonBrowsableProp.ComponentType, nonBrowsableProp, browse); } else { Debug.Fail("Didn't find property '" + name + "' to make browsable"); } } } } } } // 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
- CurrencyManager.cs
- MessageSecurityOverTcpElement.cs
- AsynchronousChannelMergeEnumerator.cs
- MexNamedPipeBindingCollectionElement.cs
- EnumerableRowCollectionExtensions.cs
- ExpressionNode.cs
- CookielessHelper.cs
- Debug.cs
- UrlRoutingModule.cs
- SafeNativeMethods.cs
- XmlSchemaValidator.cs
- ParallelEnumerable.cs
- CollectionTypeElement.cs
- XmlSchemaElement.cs
- ListViewCancelEventArgs.cs
- CacheSection.cs
- DataGridViewColumnCollectionDialog.cs
- EmissiveMaterial.cs
- DataGridViewHeaderCell.cs
- SafeNativeMethodsMilCoreApi.cs
- ClipboardData.cs
- WebEvents.cs
- TouchFrameEventArgs.cs
- ItemsPresenter.cs
- Calendar.cs
- UserPersonalizationStateInfo.cs
- PropertyCollection.cs
- WorkflowRuntimeService.cs
- PopOutPanel.cs
- SoapSchemaImporter.cs
- MouseWheelEventArgs.cs
- RelationshipEndMember.cs
- SimpleTextLine.cs
- XsdBuilder.cs
- WindowCollection.cs
- DataGridViewColumnEventArgs.cs
- MasterPageCodeDomTreeGenerator.cs
- FixedHighlight.cs
- _HTTPDateParse.cs
- ChainedAsyncResult.cs
- CodeMemberEvent.cs
- RegionInfo.cs
- VisualBasicExpressionConverter.cs
- MenuCommands.cs
- Int32RectValueSerializer.cs
- ForwardPositionQuery.cs
- SchemaAttDef.cs
- ParameterModifier.cs
- TypeUtil.cs
- DataGridViewTopRowAccessibleObject.cs
- PropertyDescriptorCollection.cs
- QilNode.cs
- TextRangeBase.cs
- ThreadAbortException.cs
- HiddenFieldPageStatePersister.cs
- ActionFrame.cs
- RequestStatusBarUpdateEventArgs.cs
- UpdatePanelControlTrigger.cs
- AutomationEvent.cs
- GetPageCompletedEventArgs.cs
- ImageClickEventArgs.cs
- InheritanceService.cs
- PrintPreviewDialog.cs
- DesignerActionGlyph.cs
- ModuleBuilder.cs
- ItemList.cs
- ObjectQueryProvider.cs
- CompositeTypefaceMetrics.cs
- PrimitiveDataContract.cs
- Properties.cs
- counter.cs
- CurrencyManager.cs
- UserPreferenceChangedEventArgs.cs
- invalidudtexception.cs
- TextEffect.cs
- DataGridTextBoxColumn.cs
- VirtualPathUtility.cs
- DefaultSettingsSection.cs
- ModelTreeEnumerator.cs
- XPathDocumentNavigator.cs
- MarkupObject.cs
- X509PeerCertificateAuthenticationElement.cs
- CollectionBuilder.cs
- HostingEnvironmentException.cs
- DataGridItem.cs
- SoundPlayerAction.cs
- SmiRequestExecutor.cs
- EpmSourceTree.cs
- XhtmlBasicFormAdapter.cs
- FormatterConverter.cs
- QueryResponse.cs
- AttributeProviderAttribute.cs
- ReferentialConstraint.cs
- SelectorItemAutomationPeer.cs
- Int64.cs
- TextChange.cs
- XmlSchemaElement.cs
- CompositionCommandSet.cs
- SizeAnimationUsingKeyFrames.cs
- MatchAllMessageFilter.cs