Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / ndp / fx / src / WinForms / Managed / System / WinForms / HtmlWindowCollection.cs / 1305376 / HtmlWindowCollection.cs
//------------------------------------------------------------------------------ //// Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.ComponentModel; using System.Diagnostics; using System.IO; using System.Drawing; using System.Drawing.Printing; using System.Windows.Forms; using System.Security.Permissions; using System.Security; using System.Runtime.InteropServices; using System.Net; using System.Collections; namespace System.Windows.Forms { ////// /// public class HtmlWindowCollection : ICollection { private UnsafeNativeMethods.IHTMLFramesCollection2 htmlFramesCollection2; private HtmlShimManager shimManager; internal HtmlWindowCollection(HtmlShimManager shimManager, UnsafeNativeMethods.IHTMLFramesCollection2 collection) { this.htmlFramesCollection2 = collection; this.shimManager = shimManager; Debug.Assert(this.NativeHTMLFramesCollection2 != null, "The window collection object should implement IHTMLFramesCollection2"); } private UnsafeNativeMethods.IHTMLFramesCollection2 NativeHTMLFramesCollection2 { get { return this.htmlFramesCollection2; } } ///[To be supplied.] ////// /// public HtmlWindow this[int index] { get { if (index < 0 || index >= this.Count) { throw new ArgumentOutOfRangeException("index", SR.GetString(SR.InvalidBoundArgument, "index", index, 0, this.Count - 1)); } object oIndex = (object)index; UnsafeNativeMethods.IHTMLWindow2 htmlWindow2 = this.NativeHTMLFramesCollection2.Item(ref oIndex) as UnsafeNativeMethods.IHTMLWindow2; return (htmlWindow2 != null) ? new HtmlWindow(shimManager, htmlWindow2) : null; } } ///[To be supplied.] ////// /// public HtmlWindow this[string windowId] { get { object oWindowId = (object)windowId; UnsafeNativeMethods.IHTMLWindow2 htmlWindow2 = null; try { htmlWindow2 = this.htmlFramesCollection2.Item(ref oWindowId) as UnsafeNativeMethods.IHTMLWindow2; } catch (COMException) { throw new ArgumentException(SR.GetString(SR.InvalidArgument, "windowId", windowId)); } return (htmlWindow2 != null) ? new HtmlWindow(shimManager, htmlWindow2) : null; } } ///[To be supplied.] ////// /// Returns the total number of elements in the collection. /// public int Count { get { return this.NativeHTMLFramesCollection2.GetLength(); } } ////// bool ICollection.IsSynchronized { get { return false; } } /// /// object ICollection.SyncRoot { get { return this; } } /// /// void ICollection.CopyTo(Array dest, int index) { int count = this.Count; for (int i = 0; i < count; i++) { dest.SetValue(this[i], index++); } } /// /// public IEnumerator GetEnumerator() { HtmlWindow[] htmlWindows = new HtmlWindow[this.Count]; ((ICollection)this).CopyTo(htmlWindows, 0); return htmlWindows.GetEnumerator(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007. //------------------------------------------------------------------------------ // // Copyright (c) Microsoft Corporation. All rights reserved. // //----------------------------------------------------------------------------- using System; using System.ComponentModel; using System.Diagnostics; using System.IO; using System.Drawing; using System.Drawing.Printing; using System.Windows.Forms; using System.Security.Permissions; using System.Security; using System.Runtime.InteropServices; using System.Net; using System.Collections; namespace System.Windows.Forms { ////// /// public class HtmlWindowCollection : ICollection { private UnsafeNativeMethods.IHTMLFramesCollection2 htmlFramesCollection2; private HtmlShimManager shimManager; internal HtmlWindowCollection(HtmlShimManager shimManager, UnsafeNativeMethods.IHTMLFramesCollection2 collection) { this.htmlFramesCollection2 = collection; this.shimManager = shimManager; Debug.Assert(this.NativeHTMLFramesCollection2 != null, "The window collection object should implement IHTMLFramesCollection2"); } private UnsafeNativeMethods.IHTMLFramesCollection2 NativeHTMLFramesCollection2 { get { return this.htmlFramesCollection2; } } ///[To be supplied.] ////// /// public HtmlWindow this[int index] { get { if (index < 0 || index >= this.Count) { throw new ArgumentOutOfRangeException("index", SR.GetString(SR.InvalidBoundArgument, "index", index, 0, this.Count - 1)); } object oIndex = (object)index; UnsafeNativeMethods.IHTMLWindow2 htmlWindow2 = this.NativeHTMLFramesCollection2.Item(ref oIndex) as UnsafeNativeMethods.IHTMLWindow2; return (htmlWindow2 != null) ? new HtmlWindow(shimManager, htmlWindow2) : null; } } ///[To be supplied.] ////// /// public HtmlWindow this[string windowId] { get { object oWindowId = (object)windowId; UnsafeNativeMethods.IHTMLWindow2 htmlWindow2 = null; try { htmlWindow2 = this.htmlFramesCollection2.Item(ref oWindowId) as UnsafeNativeMethods.IHTMLWindow2; } catch (COMException) { throw new ArgumentException(SR.GetString(SR.InvalidArgument, "windowId", windowId)); } return (htmlWindow2 != null) ? new HtmlWindow(shimManager, htmlWindow2) : null; } } ///[To be supplied.] ////// /// Returns the total number of elements in the collection. /// public int Count { get { return this.NativeHTMLFramesCollection2.GetLength(); } } ////// bool ICollection.IsSynchronized { get { return false; } } /// /// object ICollection.SyncRoot { get { return this; } } /// /// void ICollection.CopyTo(Array dest, int index) { int count = this.Count; for (int i = 0; i < count; i++) { dest.SetValue(this[i], index++); } } /// /// public IEnumerator GetEnumerator() { HtmlWindow[] htmlWindows = new HtmlWindow[this.Count]; ((ICollection)this).CopyTo(htmlWindows, 0); return htmlWindows.GetEnumerator(); } } } // File provided for Reference Use Only by Microsoft Corporation (c) 2007.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- TypeSemantics.cs
- StringFunctions.cs
- WebPartCollection.cs
- EvidenceTypeDescriptor.cs
- ProgressPage.cs
- NativeStructs.cs
- MenuStrip.cs
- PropertyDescriptors.cs
- ClientConfigPaths.cs
- SyndicationContent.cs
- ListItemViewAttribute.cs
- ConfigurationManagerHelper.cs
- SvcMapFileSerializer.cs
- ADMembershipProvider.cs
- DtcInterfaces.cs
- SrgsToken.cs
- ReferenceSchema.cs
- Int32KeyFrameCollection.cs
- WebUtil.cs
- HTMLTagNameToTypeMapper.cs
- ContainerControl.cs
- PropertyToken.cs
- FileCodeGroup.cs
- InstanceDataCollection.cs
- CompiledQuery.cs
- XmlTextReaderImpl.cs
- ProcessHost.cs
- precedingsibling.cs
- LightweightCodeGenerator.cs
- HttpTransportSecurityElement.cs
- DataGridDefaultColumnWidthTypeConverter.cs
- ECDiffieHellmanCngPublicKey.cs
- ExecutionEngineException.cs
- SmiEventStream.cs
- EntityConnectionStringBuilderItem.cs
- X509LogoTypeExtension.cs
- DbModificationClause.cs
- CachedTypeface.cs
- PropertyInformationCollection.cs
- MergeFilterQuery.cs
- GridViewHeaderRowPresenter.cs
- Panel.cs
- TextSelectionProcessor.cs
- SystemNetHelpers.cs
- OciLobLocator.cs
- _SslState.cs
- DocumentDesigner.cs
- AVElementHelper.cs
- FakeModelPropertyImpl.cs
- BufferedReceiveManager.cs
- SiteMapPath.cs
- Binding.cs
- ChangePassword.cs
- InvokePatternIdentifiers.cs
- cookiecontainer.cs
- RequestResponse.cs
- SQLBoolean.cs
- ConsumerConnectionPoint.cs
- ReferencedCollectionType.cs
- HyperLink.cs
- SingleAnimation.cs
- MethodBody.cs
- StylusPlugInCollection.cs
- ObsoleteAttribute.cs
- IisNotInstalledException.cs
- SHA1.cs
- HighlightOverlayGlyph.cs
- HttpFileCollection.cs
- IdentitySection.cs
- ServicePoint.cs
- SessionEndedEventArgs.cs
- AnimationLayer.cs
- ResourceDisplayNameAttribute.cs
- ApplicationDirectory.cs
- ImageSource.cs
- Panel.cs
- TrackingParticipant.cs
- FlowNode.cs
- MappingItemCollection.cs
- SchemaMapping.cs
- HostProtectionPermission.cs
- BuildDependencySet.cs
- Encoder.cs
- CellParagraph.cs
- Size3D.cs
- Rss20FeedFormatter.cs
- HandlerFactoryCache.cs
- CallbackValidator.cs
- PageCatalogPart.cs
- CodeAttachEventStatement.cs
- AttributeInfo.cs
- MarkupObject.cs
- ActivatableWorkflowsQueryResult.cs
- CfgArc.cs
- SmtpCommands.cs
- ListBindingConverter.cs
- OdbcError.cs
- UTF32Encoding.cs
- PrefixQName.cs
- SecurityElement.cs