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
- InstalledFontCollection.cs
- CheckBoxPopupAdapter.cs
- StylusOverProperty.cs
- SparseMemoryStream.cs
- EntryIndex.cs
- HitTestParameters.cs
- clipboard.cs
- GenericWebPart.cs
- DetailsViewRow.cs
- IncrementalCompileAnalyzer.cs
- SHA512CryptoServiceProvider.cs
- RelationshipSet.cs
- QilInvokeLateBound.cs
- RowBinding.cs
- BlurBitmapEffect.cs
- AutoCompleteStringCollection.cs
- StickyNoteHelper.cs
- EnumDataContract.cs
- DragEventArgs.cs
- HtmlProps.cs
- ADConnectionHelper.cs
- DocumentEventArgs.cs
- InheritablePropertyChangeInfo.cs
- TextRunProperties.cs
- TabletDevice.cs
- SqlBuilder.cs
- CodeExpressionRuleDeclaration.cs
- SemanticAnalyzer.cs
- SortKey.cs
- DrawingAttributeSerializer.cs
- ToolStripTextBox.cs
- CodeDirectionExpression.cs
- XmlReader.cs
- TypeDependencyAttribute.cs
- SourceChangedEventArgs.cs
- UrlAuthFailedErrorFormatter.cs
- ZipIOCentralDirectoryBlock.cs
- TextElementEditingBehaviorAttribute.cs
- JobStaple.cs
- WebException.cs
- NameTable.cs
- _IPv6Address.cs
- QilLoop.cs
- ByteArrayHelperWithString.cs
- MasterPageBuildProvider.cs
- AutomationAttributeInfo.cs
- SchemaElementDecl.cs
- QuaternionValueSerializer.cs
- ConfigXmlReader.cs
- VirtualizedItemPattern.cs
- RuleDefinitions.cs
- ExpressionEditorAttribute.cs
- ResourcesBuildProvider.cs
- BufferModesCollection.cs
- HostAdapter.cs
- ComponentResourceKeyConverter.cs
- SettingsBase.cs
- PageClientProxyGenerator.cs
- StateBag.cs
- Atom10FormatterFactory.cs
- NoneExcludedImageIndexConverter.cs
- DirectionalLight.cs
- __Filters.cs
- HttpHeaderCollection.cs
- XmlNamespaceMapping.cs
- XPathScanner.cs
- CatalogPart.cs
- TimeSpanSecondsOrInfiniteConverter.cs
- ItemCheckedEvent.cs
- WindowsToolbar.cs
- RepeaterItemEventArgs.cs
- XhtmlCssHandler.cs
- ArraySet.cs
- RequestUriProcessor.cs
- smtppermission.cs
- PagesSection.cs
- SoapSchemaImporter.cs
- ObjectDataSourceFilteringEventArgs.cs
- BamlMapTable.cs
- MouseEvent.cs
- SecurityUtils.cs
- RequiredFieldValidator.cs
- figurelength.cs
- IteratorDescriptor.cs
- ParameterBuilder.cs
- OutOfProcStateClientManager.cs
- XPathNavigator.cs
- UnsafeNativeMethods.cs
- Vector3DAnimation.cs
- CompareValidator.cs
- TimeStampChecker.cs
- WebPartTransformerAttribute.cs
- HybridDictionary.cs
- XmlSerializationWriter.cs
- MimeParameter.cs
- SocketStream.cs
- UnknownBitmapEncoder.cs
- TransformerInfoCollection.cs
- FixedTextPointer.cs
- DES.cs