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
- TypeDelegator.cs
- WebErrorHandler.cs
- DiscoveryEndpointValidator.cs
- documentsequencetextview.cs
- CLSCompliantAttribute.cs
- GridItemPattern.cs
- DefaultAsyncDataDispatcher.cs
- base64Transforms.cs
- FlowDocumentFormatter.cs
- SeverityFilter.cs
- RadioButtonAutomationPeer.cs
- EntityDataSourceContextCreatingEventArgs.cs
- HtmlDocument.cs
- RawStylusActions.cs
- SiteMembershipCondition.cs
- PropertyDescriptor.cs
- TrustLevel.cs
- ProcessModelSection.cs
- GetReadStreamResult.cs
- SrgsRuleRef.cs
- HostingPreferredMapPath.cs
- QilXmlReader.cs
- InvalidCommandTreeException.cs
- EntityTypeBase.cs
- CharEntityEncoderFallback.cs
- SrgsRule.cs
- LinkConverter.cs
- WinInet.cs
- PaginationProgressEventArgs.cs
- AlphaSortedEnumConverter.cs
- EntityKey.cs
- Clipboard.cs
- OLEDB_Enum.cs
- WebPartEditorOkVerb.cs
- MobileRedirect.cs
- ResourceDisplayNameAttribute.cs
- CombinedGeometry.cs
- ListBox.cs
- ServiceModelReg.cs
- CustomErrorsSection.cs
- ItemList.cs
- SynchronousReceiveBehavior.cs
- PropagatorResult.cs
- SerialPinChanges.cs
- DataTemplate.cs
- TreeViewImageKeyConverter.cs
- FtpRequestCacheValidator.cs
- DataGrid.cs
- NetworkStream.cs
- ClientConfigPaths.cs
- WindowsListViewItemCheckBox.cs
- PeerCollaborationPermission.cs
- SourceElementsCollection.cs
- SqlDelegatedTransaction.cs
- StringFormat.cs
- DefaultHttpHandler.cs
- TreeViewEvent.cs
- ExeContext.cs
- IPEndPoint.cs
- RequestQueryProcessor.cs
- ToolboxComponentsCreatingEventArgs.cs
- MultipleViewPattern.cs
- _TransmitFileOverlappedAsyncResult.cs
- SpeakCompletedEventArgs.cs
- DbProviderConfigurationHandler.cs
- PropertyPath.cs
- CommandField.cs
- TileModeValidation.cs
- SevenBitStream.cs
- GlyphRun.cs
- WorkflowTransactionOptions.cs
- TemplateBindingExpressionConverter.cs
- SqlCacheDependencyDatabaseCollection.cs
- QueryContinueDragEventArgs.cs
- UrlMappingsModule.cs
- _ConnectStream.cs
- XmlNodeWriter.cs
- TiffBitmapEncoder.cs
- CacheMemory.cs
- Evidence.cs
- TreeNodeSelectionProcessor.cs
- OutputCacheSection.cs
- PerfCounterSection.cs
- Executor.cs
- PageResolution.cs
- TrustSection.cs
- AutomationPatternInfo.cs
- ParentQuery.cs
- UniqueEventHelper.cs
- indexingfiltermarshaler.cs
- SmtpSpecifiedPickupDirectoryElement.cs
- CurrentChangingEventManager.cs
- SqlSupersetValidator.cs
- HostingPreferredMapPath.cs
- ItemsChangedEventArgs.cs
- EncodingNLS.cs
- DeclarativeExpressionConditionDeclaration.cs
- Dynamic.cs
- AuthorizationBehavior.cs
- DetailsViewModeEventArgs.cs