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
- TreeIterators.cs
- DiscardableAttribute.cs
- WorkflowQueueInfo.cs
- SystemIcmpV4Statistics.cs
- XMLDiffLoader.cs
- ConfigXmlAttribute.cs
- XmlHierarchicalEnumerable.cs
- TriState.cs
- HatchBrush.cs
- ElementHostPropertyMap.cs
- QueryPageSettingsEventArgs.cs
- StringArrayConverter.cs
- UserValidatedEventArgs.cs
- WizardForm.cs
- AliasedSlot.cs
- IDispatchConstantAttribute.cs
- RepeatInfo.cs
- XmlEnumAttribute.cs
- Group.cs
- Cursor.cs
- DependencyPropertyChangedEventArgs.cs
- FileRecordSequenceCompletedAsyncResult.cs
- TypeListConverter.cs
- PrivilegedConfigurationManager.cs
- TreePrinter.cs
- WebBrowserNavigatingEventHandler.cs
- OuterGlowBitmapEffect.cs
- SHA384.cs
- ArraySortHelper.cs
- WebConfigurationFileMap.cs
- DebugView.cs
- WindowsMenu.cs
- RawKeyboardInputReport.cs
- SapiRecognizer.cs
- Buffer.cs
- PageAdapter.cs
- KnownIds.cs
- SqlDataRecord.cs
- FixedSOMLineRanges.cs
- HandledMouseEvent.cs
- Container.cs
- ObjectAnimationUsingKeyFrames.cs
- ProtocolsSection.cs
- Stroke.cs
- XmlHelper.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- UnicodeEncoding.cs
- UnsettableComboBox.cs
- ContainerVisual.cs
- RightsManagementEncryptedStream.cs
- ReflectTypeDescriptionProvider.cs
- Vertex.cs
- figurelength.cs
- CacheMemory.cs
- DataStorage.cs
- RSAOAEPKeyExchangeFormatter.cs
- VariableAction.cs
- EditorPartChrome.cs
- WebPartChrome.cs
- ServicePointManager.cs
- ApplicationSettingsBase.cs
- TrackingServices.cs
- InputQueueChannel.cs
- TextChange.cs
- FontStyleConverter.cs
- PeerTransportBindingElement.cs
- xmlfixedPageInfo.cs
- InvalidCastException.cs
- SplitterEvent.cs
- MsmqInputMessagePool.cs
- SizeChangedEventArgs.cs
- EnumConverter.cs
- UpdateDelegates.Generated.cs
- XmlElement.cs
- BaseCollection.cs
- InputReport.cs
- SinglePhaseEnlistment.cs
- HtmlEncodedRawTextWriter.cs
- CatalogZone.cs
- HostProtectionPermission.cs
- ConstraintStruct.cs
- BackgroundFormatInfo.cs
- OleDbDataReader.cs
- DataSpaceManager.cs
- HtmlInputCheckBox.cs
- Transactions.cs
- SuppressMergeCheckAttribute.cs
- WebBrowserHelper.cs
- Options.cs
- HttpCacheParams.cs
- FacetValues.cs
- FileRegion.cs
- HashAlgorithm.cs
- ReflectTypeDescriptionProvider.cs
- GenericEnumerator.cs
- AvTraceFormat.cs
- WebPartMenuStyle.cs
- ThemeableAttribute.cs
- JsonReaderWriterFactory.cs
- XmlBindingWorker.cs