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
- ItemsControlAutomationPeer.cs
- TypedElement.cs
- SqlMethodAttribute.cs
- SecurityHelper.cs
- PathGradientBrush.cs
- WithParamAction.cs
- TransactionInterop.cs
- NegotiateStream.cs
- Adorner.cs
- QueryCursorEventArgs.cs
- OuterGlowBitmapEffect.cs
- TypeDelegator.cs
- CssStyleCollection.cs
- NativeMethods.cs
- DataSourceControlBuilder.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- CommandValueSerializer.cs
- WebConfigurationHost.cs
- ViewPort3D.cs
- Automation.cs
- Command.cs
- WebPartVerb.cs
- EditingMode.cs
- HttpConfigurationContext.cs
- CodeRemoveEventStatement.cs
- BitmapScalingModeValidation.cs
- COM2ColorConverter.cs
- StatusBarDrawItemEvent.cs
- XmlSerializer.cs
- CustomServiceCredentials.cs
- DynamicRenderer.cs
- FollowerQueueCreator.cs
- ObjectFullSpanRewriter.cs
- GroupItemAutomationPeer.cs
- HitTestWithPointDrawingContextWalker.cs
- SymbolMethod.cs
- DesignerCategoryAttribute.cs
- ContentType.cs
- SingleAnimationBase.cs
- TypeElement.cs
- DayRenderEvent.cs
- StylusPointProperties.cs
- PreviewKeyDownEventArgs.cs
- Effect.cs
- CompositionTarget.cs
- ConfigXmlWhitespace.cs
- RtfToXamlReader.cs
- UInt32Storage.cs
- DataGridViewMethods.cs
- Debug.cs
- FocusManager.cs
- Command.cs
- EntityClientCacheEntry.cs
- DeclarationUpdate.cs
- XmlILAnnotation.cs
- CompensatableSequenceActivity.cs
- EntityViewGenerator.cs
- LinkDescriptor.cs
- UIElement.cs
- AttributeUsageAttribute.cs
- TransportBindingElement.cs
- BaseValidator.cs
- ForEachAction.cs
- ParseElementCollection.cs
- MenuEventArgs.cs
- BaseTemplateBuildProvider.cs
- basevalidator.cs
- PrintPageEvent.cs
- ProcessModelInfo.cs
- Missing.cs
- CatalogZoneBase.cs
- DetailsViewCommandEventArgs.cs
- SafeFileHandle.cs
- Ray3DHitTestResult.cs
- ToolStripItemTextRenderEventArgs.cs
- HideDisabledControlAdapter.cs
- XpsFontSubsetter.cs
- Keywords.cs
- SchemaTypeEmitter.cs
- StringUtil.cs
- FileAccessException.cs
- DesignerAttribute.cs
- LocalizationParserHooks.cs
- CodeMemberEvent.cs
- MembershipPasswordException.cs
- SoapSchemaExporter.cs
- KnownBoxes.cs
- PageSetupDialog.cs
- AssemblyBuilderData.cs
- ValidationResult.cs
- SqlDelegatedTransaction.cs
- NumericUpDownAcceleration.cs
- TableRowGroup.cs
- NameValueFileSectionHandler.cs
- MenuAdapter.cs
- GrammarBuilderBase.cs
- TabItemAutomationPeer.cs
- FixedSOMPageElement.cs
- DashStyle.cs
- SimpleApplicationHost.cs