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
- RenamedEventArgs.cs
- pingexception.cs
- unsafenativemethodsother.cs
- sqlpipe.cs
- Rect3D.cs
- GeneralTransform.cs
- ComponentRenameEvent.cs
- StructuralCache.cs
- CultureMapper.cs
- SamlDoNotCacheCondition.cs
- DockAndAnchorLayout.cs
- EventPropertyMap.cs
- DataGridViewAccessibleObject.cs
- BulletedListDesigner.cs
- AddInContractAttribute.cs
- WindowsListBox.cs
- MobileListItem.cs
- CodeTypeParameterCollection.cs
- ValidationSummary.cs
- SystemResources.cs
- LinearKeyFrames.cs
- File.cs
- StringOutput.cs
- Synchronization.cs
- GeneratedView.cs
- SystemPens.cs
- InputMethodStateChangeEventArgs.cs
- Selection.cs
- TypeNameHelper.cs
- MailBnfHelper.cs
- StringConverter.cs
- DataServiceException.cs
- ContextMenuService.cs
- WeakRefEnumerator.cs
- Privilege.cs
- BinarySecretSecurityToken.cs
- XmlArrayItemAttribute.cs
- BulletChrome.cs
- CalendarAutoFormatDialog.cs
- ListViewUpdateEventArgs.cs
- JsonSerializer.cs
- Int64AnimationBase.cs
- AssemblyBuilder.cs
- InternalCache.cs
- AQNBuilder.cs
- EastAsianLunisolarCalendar.cs
- XmlMembersMapping.cs
- ToolStrip.cs
- HtmlAnchor.cs
- SQLDateTimeStorage.cs
- XmlCodeExporter.cs
- Automation.cs
- QueryableFilterUserControl.cs
- XsdBuilder.cs
- IIS7ConfigurationLoader.cs
- MatrixTransform.cs
- ScrollableControl.cs
- DependencyObject.cs
- RoleManagerEventArgs.cs
- DynamicField.cs
- DataObject.cs
- BitmapImage.cs
- AspProxy.cs
- ContextToken.cs
- HtmlInputSubmit.cs
- DbConnectionClosed.cs
- BuildManagerHost.cs
- SecureStringHasher.cs
- ModelTreeEnumerator.cs
- SecurityUniqueId.cs
- COM2EnumConverter.cs
- AsyncStreamReader.cs
- AnimationLayer.cs
- ExpressionVisitor.cs
- DataGridPagerStyle.cs
- AndCondition.cs
- SystemSounds.cs
- BlurBitmapEffect.cs
- ClientUrlResolverWrapper.cs
- StateManagedCollection.cs
- LinkAreaEditor.cs
- LayoutEditorPart.cs
- ToolStripManager.cs
- Simplifier.cs
- HttpRuntimeSection.cs
- Clipboard.cs
- FixedBufferAttribute.cs
- DateTime.cs
- SapiRecoInterop.cs
- StringUtil.cs
- DBNull.cs
- FrameworkContentElementAutomationPeer.cs
- ActivationArguments.cs
- ReferentialConstraint.cs
- ZipIOCentralDirectoryFileHeader.cs
- PersistenceTypeAttribute.cs
- MatrixTransform3D.cs
- XmlMembersMapping.cs
- SecurityVerifiedMessage.cs
- ComNativeDescriptor.cs