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
- SocketException.cs
- GeneralTransform3D.cs
- TextEmbeddedObject.cs
- InternalControlCollection.cs
- LinkClickEvent.cs
- DataColumnMapping.cs
- StringExpressionSet.cs
- StringSorter.cs
- FrameworkContentElementAutomationPeer.cs
- ToggleProviderWrapper.cs
- ConfigXmlComment.cs
- PolicyManager.cs
- ObjectDataProvider.cs
- ActivityExecutionContextCollection.cs
- ValueTypeFixupInfo.cs
- SmtpReplyReader.cs
- ControlValuePropertyAttribute.cs
- MouseEventArgs.cs
- UserInitiatedRoutedEventPermissionAttribute.cs
- Bitmap.cs
- ThreadAttributes.cs
- exports.cs
- ControlAdapter.cs
- CompilationUnit.cs
- FormsAuthenticationTicket.cs
- BulletedList.cs
- PropertyChangeTracker.cs
- InkCanvas.cs
- HttpInputStream.cs
- RectangleGeometry.cs
- EventRouteFactory.cs
- JavaScriptString.cs
- StringFormat.cs
- XmlMtomWriter.cs
- MenuAdapter.cs
- CmsUtils.cs
- X509Certificate.cs
- UnionQueryOperator.cs
- MenuCommandService.cs
- SchemaElementLookUpTableEnumerator.cs
- safelinkcollection.cs
- Win32PrintDialog.cs
- SettingsContext.cs
- HttpsHostedTransportConfiguration.cs
- CompilerError.cs
- WmlPanelAdapter.cs
- ReadOnlyDataSource.cs
- BasePattern.cs
- WebPartsSection.cs
- RemoteDebugger.cs
- MemberAssignmentAnalysis.cs
- DecoderReplacementFallback.cs
- RequestResizeEvent.cs
- SHA512.cs
- ScaleTransform3D.cs
- BuilderPropertyEntry.cs
- Polyline.cs
- DynamicEntity.cs
- DbProviderConfigurationHandler.cs
- QilInvoke.cs
- DataQuery.cs
- KeyedHashAlgorithm.cs
- RijndaelManagedTransform.cs
- AuthenticationSection.cs
- MatrixTransform.cs
- ScriptManagerProxy.cs
- PageSetupDialog.cs
- DataSourceCacheDurationConverter.cs
- ButtonPopupAdapter.cs
- InfoCardXmlSerializer.cs
- SoapHelper.cs
- ClientRoleProvider.cs
- RSACryptoServiceProvider.cs
- SessionEndingEventArgs.cs
- SectionXmlInfo.cs
- DataPagerFieldCollection.cs
- SpeechSeg.cs
- MetadataCacheItem.cs
- ControlPaint.cs
- Style.cs
- ConstructorExpr.cs
- RequestCachePolicyConverter.cs
- AppDomainAttributes.cs
- Unit.cs
- TimeSpanMinutesOrInfiniteConverter.cs
- StandardCommands.cs
- ClassHandlersStore.cs
- MemberRelationshipService.cs
- XmlSchemaObject.cs
- RowType.cs
- IISUnsafeMethods.cs
- ButtonPopupAdapter.cs
- SetterBaseCollection.cs
- OleStrCAMarshaler.cs
- WebConfigurationHostFileChange.cs
- BitmapEffect.cs
- COM2IVsPerPropertyBrowsingHandler.cs
- CombinedGeometry.cs
- HorizontalAlignConverter.cs
- HijriCalendar.cs