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
- Error.cs
- ConfigurationException.cs
- Matrix3D.cs
- CompareInfo.cs
- TempEnvironment.cs
- ButtonBaseAdapter.cs
- SqlConnection.cs
- SecurityAlgorithmSuiteConverter.cs
- ServiceDescriptionSerializer.cs
- NGCUIElementCollectionSerializerAsync.cs
- HttpCacheVary.cs
- AuthenticationException.cs
- StylusPointProperty.cs
- QueuePathEditor.cs
- SqlDataSourceCommandParser.cs
- Component.cs
- PassportIdentity.cs
- Main.cs
- FileDialogCustomPlace.cs
- BatchStream.cs
- SqlCacheDependencyDatabase.cs
- Window.cs
- XPathException.cs
- AssemblyBuilder.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- TextDecoration.cs
- VariableExpressionConverter.cs
- PropertyStore.cs
- BufferedWebEventProvider.cs
- WebPartDisplayMode.cs
- InvokeWebService.cs
- CopyCodeAction.cs
- UnSafeCharBuffer.cs
- ReadOnlyDataSource.cs
- XmlSchemaParticle.cs
- GenericNameHandler.cs
- KnownTypes.cs
- RegisteredHiddenField.cs
- RenderData.cs
- FixedPosition.cs
- WebPartConnectVerb.cs
- DynamicDataResources.Designer.cs
- EncryptedXml.cs
- HttpUnhandledOperationInvoker.cs
- XhtmlBasicControlAdapter.cs
- StreamGeometryContext.cs
- Stroke.cs
- ObjectDataSourceSelectingEventArgs.cs
- InternalConfigEventArgs.cs
- KeyPressEvent.cs
- ApplicationSecurityManager.cs
- ValidationEventArgs.cs
- TemplatedWizardStep.cs
- CorrelationTokenInvalidatedHandler.cs
- PrimaryKeyTypeConverter.cs
- TemplateControlParser.cs
- SafeCancelMibChangeNotify.cs
- CompiledQuery.cs
- Utility.cs
- ValueCollectionParameterReader.cs
- BamlRecordHelper.cs
- StrokeIntersection.cs
- WorkflowInstanceContextProvider.cs
- SqlCommand.cs
- TagPrefixAttribute.cs
- SerialStream.cs
- Stroke.cs
- SafeNativeMethods.cs
- XmlILIndex.cs
- SecurityTokenTypes.cs
- ASCIIEncoding.cs
- MemberBinding.cs
- SecurityValidationBehavior.cs
- ContractMapping.cs
- FontStyle.cs
- Opcode.cs
- TextView.cs
- Win32Exception.cs
- DataListItemCollection.cs
- SvcMapFileSerializer.cs
- HttpDebugHandler.cs
- DeobfuscatingStream.cs
- TransactionManager.cs
- EntityParameter.cs
- RegistryPermission.cs
- UnionExpr.cs
- IPCCacheManager.cs
- FileVersionInfo.cs
- DataListComponentEditor.cs
- SqlCacheDependency.cs
- SettingsPropertyValueCollection.cs
- ProjectionRewriter.cs
- ManifestResourceInfo.cs
- MaskDescriptors.cs
- RootBrowserWindowAutomationPeer.cs
- EntityDataSourceWrapper.cs
- MulticastDelegate.cs
- OutputCacheSection.cs
- BuilderElements.cs
- MaterializeFromAtom.cs