Code:
/ DotNET / DotNET / 8.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
- ListDictionary.cs
- RequestCachingSection.cs
- Stroke2.cs
- ContentElement.cs
- ComAwareEventInfo.cs
- CodeTypeDeclarationCollection.cs
- CompilerState.cs
- ToolStripHighContrastRenderer.cs
- WebPartCloseVerb.cs
- RenderOptions.cs
- ListBoxChrome.cs
- ConfigurationSectionGroup.cs
- TextRangeSerialization.cs
- XmlSerializerObjectSerializer.cs
- BezierSegment.cs
- UInt64Storage.cs
- ErrorEventArgs.cs
- HttpPostLocalhostServerProtocol.cs
- IdnElement.cs
- SafeNativeMethods.cs
- OdbcFactory.cs
- PriorityItem.cs
- SqlProfileProvider.cs
- SQLConvert.cs
- IOException.cs
- XPathDocument.cs
- SharedConnectionInfo.cs
- TypeSystem.cs
- SubstitutionResponseElement.cs
- ThemeInfoAttribute.cs
- CategoryEditor.cs
- EventTrigger.cs
- TabPageDesigner.cs
- RelatedCurrencyManager.cs
- ExtentJoinTreeNode.cs
- WpfWebRequestHelper.cs
- FlowDocumentFormatter.cs
- WebScriptClientGenerator.cs
- TextReturnReader.cs
- parserscommon.cs
- UnaryNode.cs
- unsafenativemethodsother.cs
- DictionaryTraceRecord.cs
- SHA384.cs
- Hyperlink.cs
- CursorConverter.cs
- SafeProcessHandle.cs
- LambdaExpression.cs
- DataGridViewTopLeftHeaderCell.cs
- DetailsViewModeEventArgs.cs
- SettingsProviderCollection.cs
- CookielessHelper.cs
- Dictionary.cs
- ChannelManager.cs
- SpAudioStreamWrapper.cs
- TextHidden.cs
- OperandQuery.cs
- DiscoveryMessageSequence.cs
- SendMessageRecord.cs
- SafeTimerHandle.cs
- XmlWrappingReader.cs
- OdbcConnectionFactory.cs
- BrowserCapabilitiesCompiler.cs
- LogConverter.cs
- DLinqTableProvider.cs
- WhitespaceRuleReader.cs
- RawKeyboardInputReport.cs
- RegistrySecurity.cs
- GCHandleCookieTable.cs
- GeneratedView.cs
- TypeFieldSchema.cs
- ViewgenGatekeeper.cs
- hresults.cs
- EventQueueState.cs
- InkCanvasSelectionAdorner.cs
- AddInIpcChannel.cs
- DataGridViewLinkColumn.cs
- ToolStripContentPanelDesigner.cs
- KeyedHashAlgorithm.cs
- TimeSpanSecondsConverter.cs
- RuntimeWrappedException.cs
- SplitterEvent.cs
- HashLookup.cs
- HwndAppCommandInputProvider.cs
- RootBuilder.cs
- ServiceRouteHandler.cs
- MemoryMappedFileSecurity.cs
- SocketStream.cs
- XmlIncludeAttribute.cs
- DataGridViewCellValidatingEventArgs.cs
- DotAtomReader.cs
- SQLString.cs
- CssClassPropertyAttribute.cs
- PointIndependentAnimationStorage.cs
- EntitySetDataBindingList.cs
- WebCategoryAttribute.cs
- ConnectorMovedEventArgs.cs
- XmlSchema.cs
- PropertyDescriptorCollection.cs
- AutomationAttributeInfo.cs