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
- FixedSOMImage.cs
- ConsoleCancelEventArgs.cs
- FilteredAttributeCollection.cs
- ValueUtilsSmi.cs
- SqlStatistics.cs
- SiteMapNode.cs
- ListManagerBindingsCollection.cs
- PersistenceProviderFactory.cs
- FaultReasonText.cs
- StatusBarAutomationPeer.cs
- CommonDialog.cs
- PtsCache.cs
- SizeChangedInfo.cs
- RowUpdatingEventArgs.cs
- AttributeConverter.cs
- XsdDateTime.cs
- EntitySetRetriever.cs
- MulticastIPAddressInformationCollection.cs
- TransformCollection.cs
- MLangCodePageEncoding.cs
- DeviceContext.cs
- SqlDuplicator.cs
- ThreadSafeList.cs
- SmiEventSink.cs
- AvTraceFormat.cs
- SlotInfo.cs
- ConfigXmlText.cs
- DataGridViewComboBoxCell.cs
- XmlValidatingReader.cs
- WaitHandle.cs
- AggregateNode.cs
- TreeViewBindingsEditorForm.cs
- OleDbSchemaGuid.cs
- DataRecord.cs
- ModelChangedEventArgsImpl.cs
- Enum.cs
- COMException.cs
- Vector3DAnimationUsingKeyFrames.cs
- DbQueryCommandTree.cs
- AppearanceEditorPart.cs
- EditorAttribute.cs
- Types.cs
- HttpModuleAction.cs
- ResourcePool.cs
- ACL.cs
- TableChangeProcessor.cs
- StringSource.cs
- DoubleStorage.cs
- HttpConfigurationContext.cs
- IdentityValidationException.cs
- DropAnimation.xaml.cs
- ClientBuildManagerCallback.cs
- ElementAction.cs
- PropertyTabChangedEvent.cs
- WS2007FederationHttpBinding.cs
- TextEffectResolver.cs
- WindowsEditBox.cs
- OneOfElement.cs
- PartialCachingAttribute.cs
- LazyTextWriterCreator.cs
- HebrewCalendar.cs
- CompiledWorkflowDefinitionContext.cs
- RegionData.cs
- WaveHeader.cs
- PerformanceCounter.cs
- JsonServiceDocumentSerializer.cs
- OleDbRowUpdatedEvent.cs
- GridSplitter.cs
- InkCanvas.cs
- InputLangChangeEvent.cs
- RequestQueue.cs
- XmlWriterTraceListener.cs
- FlowDocumentReaderAutomationPeer.cs
- GPStream.cs
- printdlgexmarshaler.cs
- XmlSchemaParticle.cs
- HttpModulesSection.cs
- EntityKeyElement.cs
- DispatcherHooks.cs
- LazyInitializer.cs
- LowerCaseStringConverter.cs
- GZipStream.cs
- HtmlInputButton.cs
- OdbcConnectionPoolProviderInfo.cs
- Viewport2DVisual3D.cs
- _NestedSingleAsyncResult.cs
- NominalTypeEliminator.cs
- ResourceSetExpression.cs
- DirectoryInfo.cs
- RunClient.cs
- Events.cs
- SimpleWorkerRequest.cs
- UpDownBase.cs
- StringInfo.cs
- StateItem.cs
- ReachDocumentReferenceSerializer.cs
- input.cs
- Input.cs
- DataColumnPropertyDescriptor.cs
- DrawingBrush.cs