Code:
/ FX-1434 / FX-1434 / 1.0 / untmp / whidbey / REDBITS / ndp / fx / src / WinForms / Managed / System / WinForms / HtmlWindowCollection.cs / 1 / 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 {
///
///
/// [To be supplied.]
///
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;
}
}
///
///
/// 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.
Link Menu

This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- HijriCalendar.cs
- XPathNavigator.cs
- ServiceDescriptionSerializer.cs
- _RequestCacheProtocol.cs
- FilterableAttribute.cs
- DataGridPageChangedEventArgs.cs
- BitHelper.cs
- SecurityUtils.cs
- CodeTypeReferenceExpression.cs
- ScriptComponentDescriptor.cs
- AliasGenerator.cs
- TextParagraph.cs
- ErrorFormatter.cs
- PathFigureCollection.cs
- RunInstallerAttribute.cs
- FillRuleValidation.cs
- StdRegProviderWrapper.cs
- Win32NamedPipes.cs
- SchemeSettingElement.cs
- Vector3DKeyFrameCollection.cs
- ContextStaticAttribute.cs
- SqlAliaser.cs
- GridViewHeaderRowPresenter.cs
- TaskFileService.cs
- DetailsViewRowCollection.cs
- Number.cs
- Dictionary.cs
- KeyedHashAlgorithm.cs
- DataTableReader.cs
- CorrelationInitializer.cs
- TableCellCollection.cs
- DataGridSortCommandEventArgs.cs
- MergePropertyDescriptor.cs
- ToolboxComponentsCreatingEventArgs.cs
- KeyProperty.cs
- EndpointConfigContainer.cs
- InkPresenterAutomationPeer.cs
- CodeRegionDirective.cs
- MaskDesignerDialog.cs
- StringUtil.cs
- LocationUpdates.cs
- GacUtil.cs
- DataListCommandEventArgs.cs
- HtmlControlPersistable.cs
- MenuItem.cs
- DataGridrowEditEndingEventArgs.cs
- DocumentPage.cs
- ColumnClickEvent.cs
- SimpleApplicationHost.cs
- WebPartAuthorizationEventArgs.cs
- XmlLangPropertyAttribute.cs
- XslNumber.cs
- Region.cs
- BasicExpandProvider.cs
- DayRenderEvent.cs
- MergeFailedEvent.cs
- ResourcesBuildProvider.cs
- Component.cs
- SQLInt16Storage.cs
- DeploymentSectionCache.cs
- TextSelectionProcessor.cs
- DynamicField.cs
- AlgoModule.cs
- ConfigsHelper.cs
- PlanCompilerUtil.cs
- VisualStyleElement.cs
- BitmapFrame.cs
- DataServiceQuery.cs
- ScrollableControl.cs
- DataChangedEventManager.cs
- DictionaryBase.cs
- MonthChangedEventArgs.cs
- EntitySqlQueryState.cs
- CodeMethodInvokeExpression.cs
- AssemblyUtil.cs
- RecordBuilder.cs
- DebugController.cs
- ViewBox.cs
- ArraySubsetEnumerator.cs
- PasswordRecoveryDesigner.cs
- PropertyChange.cs
- AppSecurityManager.cs
- _RequestCacheProtocol.cs
- XmlImplementation.cs
- FontInfo.cs
- DataGridViewColumnEventArgs.cs
- FontDialog.cs
- Message.cs
- PhoneCall.cs
- CompositeCollection.cs
- PropertyGridDesigner.cs
- AsyncStreamReader.cs
- MessageQueuePermissionAttribute.cs
- ExpressionPrefixAttribute.cs
- CompilationSection.cs
- ExtentKey.cs
- StreamResourceInfo.cs
- UserControl.cs
- ImpersonateTokenRef.cs
- Unit.cs