Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / Designer / Host / DesignSurfaceCollection.cs / 1 / DesignSurfaceCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- namespace System.ComponentModel.Design { using System; using System.Collections; using System.ComponentModel; using System.ComponentModel.Design; using System.Design; using System.Diagnostics; ////// /// Provides a read-only collection of design surfaces. /// public sealed class DesignSurfaceCollection : ICollection { private DesignerCollection _designers; ////// Initializes a new instance of the DesignSurfaceCollection class /// internal DesignSurfaceCollection(DesignerCollection designers) { _designers = designers; if (_designers == null) { _designers = new DesignerCollection(null); } } ////// /// Gets number of design surfaces in the collection. /// public int Count { get { return _designers.Count; } } ////// /// Gets or sets the document at the specified index. /// public DesignSurface this[int index] { get { IDesignerHost host = _designers[index]; DesignSurface surface = host.GetService(typeof(DesignSurface)) as DesignSurface; if (surface == null) { throw new NotSupportedException(); } return surface; } } ////// /// Creates and retrieves a new enumerator for this collection. /// public IEnumerator GetEnumerator() { return new DesignSurfaceEnumerator(_designers.GetEnumerator()); } ////// int ICollection.Count { get { return Count; } } /// /// bool ICollection.IsSynchronized { get { return false; } } /// /// object ICollection.SyncRoot { get { return null; } } /// /// void ICollection.CopyTo(Array array, int index) { foreach(DesignSurface surface in this) { array.SetValue(surface, index++); } } public void CopyTo(DesignSurface[] array, int index) { ((ICollection)this).CopyTo(array, index); } /// /// IEnumerator IEnumerable.GetEnumerator() { return GetEnumerator(); } /// /// Enumerator that performs the conversion from designer host /// to design surface. /// private class DesignSurfaceEnumerator : IEnumerator { private IEnumerator _designerEnumerator; internal DesignSurfaceEnumerator(IEnumerator designerEnumerator) { _designerEnumerator = designerEnumerator; } public object Current { get { IDesignerHost host = (IDesignerHost)_designerEnumerator.Current; DesignSurface surface = host.GetService(typeof(DesignSurface)) as DesignSurface; if (surface == null) { throw new NotSupportedException(); } return surface; } } public bool MoveNext() { return _designerEnumerator.MoveNext(); } public void Reset() { _designerEnumerator.Reset(); } } } } // 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
- PropertyValueUIItem.cs
- RegisteredArrayDeclaration.cs
- WebBaseEventKeyComparer.cs
- ErrorLog.cs
- StrongNameMembershipCondition.cs
- DataGridViewCellStyleConverter.cs
- FastEncoderStatics.cs
- SerializationObjectManager.cs
- CurrencyWrapper.cs
- AdornerPresentationContext.cs
- PointLightBase.cs
- PageCodeDomTreeGenerator.cs
- MailWebEventProvider.cs
- SHA1.cs
- BuildDependencySet.cs
- PasswordBox.cs
- IndexedEnumerable.cs
- GeneralTransform3D.cs
- XmlSchemaInfo.cs
- ParserContext.cs
- VersionValidator.cs
- Transaction.cs
- NativeMethods.cs
- WindowsStreamSecurityUpgradeProvider.cs
- diagnosticsswitches.cs
- ConfigXmlSignificantWhitespace.cs
- PopupRoot.cs
- SmtpAuthenticationManager.cs
- StorageScalarPropertyMapping.cs
- AdjustableArrowCap.cs
- MULTI_QI.cs
- ProfileBuildProvider.cs
- WindowsListViewGroupSubsetLink.cs
- ListManagerBindingsCollection.cs
- SessionPageStatePersister.cs
- AvTraceFormat.cs
- LowerCaseStringConverter.cs
- DataShape.cs
- InternalCache.cs
- DrawingContextDrawingContextWalker.cs
- PreservationFileWriter.cs
- LabelAutomationPeer.cs
- OleDbDataAdapter.cs
- DBCommandBuilder.cs
- AccessedThroughPropertyAttribute.cs
- DBBindings.cs
- HtmlInputRadioButton.cs
- CopyOfAction.cs
- SspiHelper.cs
- SHA512.cs
- System.Data.OracleClient_BID.cs
- Helpers.cs
- ComponentRenameEvent.cs
- ToolStripPanelRenderEventArgs.cs
- XmlNamespaceDeclarationsAttribute.cs
- Translator.cs
- CodeTypeDeclarationCollection.cs
- COM2Properties.cs
- SqlRowUpdatingEvent.cs
- ProfileInfo.cs
- X509Chain.cs
- MultipleCopiesCollection.cs
- FontDialog.cs
- EmptyStringExpandableObjectConverter.cs
- ViewService.cs
- SqlInternalConnectionTds.cs
- FileUtil.cs
- TogglePattern.cs
- DataObjectAttribute.cs
- ResolveResponse.cs
- SmiEventSink.cs
- CqlLexer.cs
- DrawingCollection.cs
- TransformerTypeCollection.cs
- ListItemCollection.cs
- Authorization.cs
- Point.cs
- FileLogRecordEnumerator.cs
- StackSpiller.cs
- CompilationUtil.cs
- BidOverLoads.cs
- PersistenceParticipant.cs
- AppLevelCompilationSectionCache.cs
- OperationCanceledException.cs
- BuildProvidersCompiler.cs
- EdmPropertyAttribute.cs
- ConfigViewGenerator.cs
- UnitySerializationHolder.cs
- DefaultValueAttribute.cs
- DispatcherFrame.cs
- CodeLabeledStatement.cs
- _ChunkParse.cs
- ForeignConstraint.cs
- CodeNamespaceCollection.cs
- HeaderCollection.cs
- StringConcat.cs
- StructuralType.cs
- HotSpotCollection.cs
- PasswordTextContainer.cs
- TraceXPathNavigator.cs