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
- IntPtr.cs
- XmlHierarchicalEnumerable.cs
- StylusPointPropertyUnit.cs
- XmlDataImplementation.cs
- Missing.cs
- IPAddress.cs
- _Connection.cs
- BindingValueChangedEventArgs.cs
- QilInvokeLateBound.cs
- SynchronousChannelMergeEnumerator.cs
- OleDbFactory.cs
- _CommandStream.cs
- SchemaImporter.cs
- CodeParameterDeclarationExpressionCollection.cs
- XhtmlConformanceSection.cs
- BatchParser.cs
- CodeTypeReferenceExpression.cs
- BooleanToSelectiveScrollingOrientationConverter.cs
- DecoderExceptionFallback.cs
- BamlVersionHeader.cs
- JoinTreeNode.cs
- DataIdProcessor.cs
- PolyQuadraticBezierSegment.cs
- DataMemberConverter.cs
- ListViewGroupConverter.cs
- SymmetricAlgorithm.cs
- ResourceReferenceExpressionConverter.cs
- EntityWrapper.cs
- MediaEntryAttribute.cs
- odbcmetadatacollectionnames.cs
- TextComposition.cs
- PropertyMetadata.cs
- ShapingEngine.cs
- XmlSchemaProviderAttribute.cs
- ControlAdapter.cs
- FormsAuthentication.cs
- KeyEvent.cs
- GPPOINT.cs
- BooleanStorage.cs
- PkcsUtils.cs
- VerticalAlignConverter.cs
- AccessDataSourceView.cs
- DynamicValidatorEventArgs.cs
- BindingElementCollection.cs
- Bezier.cs
- ViewGenResults.cs
- SQLStringStorage.cs
- LazyTextWriterCreator.cs
- DataGridViewSelectedCellsAccessibleObject.cs
- LinearKeyFrames.cs
- Transform3D.cs
- FixedSOMImage.cs
- TransformConverter.cs
- WorkflowMessageEventArgs.cs
- Grant.cs
- WindowsListViewItemCheckBox.cs
- StreamWithDictionary.cs
- StyleSelector.cs
- Int32AnimationUsingKeyFrames.cs
- DirectoryInfo.cs
- CopyOnWriteList.cs
- TriggerAction.cs
- Light.cs
- IndexedEnumerable.cs
- GlobalProxySelection.cs
- ImageListDesigner.cs
- ObjectCloneHelper.cs
- EntitySqlException.cs
- SlipBehavior.cs
- WebPartAddingEventArgs.cs
- ToolStripButton.cs
- WebPartDeleteVerb.cs
- RenderTargetBitmap.cs
- DisplayInformation.cs
- FillRuleValidation.cs
- TableParagraph.cs
- FaultFormatter.cs
- StrokeNodeData.cs
- DataRelation.cs
- HTTP_SERVICE_CONFIG_URLACL_KEY.cs
- DateTimeOffset.cs
- AnnouncementClient.cs
- OleServicesContext.cs
- InvalidProgramException.cs
- DataGridViewColumnConverter.cs
- StringDictionaryEditor.cs
- EntityUtil.cs
- StringExpressionSet.cs
- CompoundFileStreamReference.cs
- SourceFileBuildProvider.cs
- NamespaceInfo.cs
- TypeToken.cs
- brushes.cs
- DefaultHttpHandler.cs
- VSWCFServiceContractGenerator.cs
- DataGridViewComboBoxCell.cs
- XmlSchemaComplexContent.cs
- TextPenaltyModule.cs
- DefaultClaimSet.cs
- ClientUtils.cs