Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / Framework / System / Windows / WindowCollection.cs / 1 / WindowCollection.cs
//----------------------------------------------------------------------------
//
//
// Copyright (C) Microsoft Corporation. All rights reserved.
//
//
// Description:
// WindowCollection can be used to interate over all the windows
// that have been opened in the current application.
//
// History:
// 08/10/04: [....] Moved out of Application.cs to its own separate file.
//
//---------------------------------------------------------------------------
using System.Collections;
using System.Diagnostics;
namespace System.Windows
{
#region WindowCollection class
///
/// WindowCollection can be used to interate over all the windows that have been
/// opened in the current application.
///
//
public sealed class WindowCollection : ICollection
{
//-----------------------------------------------------
//
// Public Methods
//
//-----------------------------------------------------
#region Public Methods
///
/// Default Constructor
///
public WindowCollection()
{
_list = new ArrayList(1);
}
internal WindowCollection(int count)
{
Debug.Assert(count >= 0, "count must not be less than zero");
_list = new ArrayList(count);
}
#endregion Public Methods
//------------------------------------------------------
//
// Operator overload
//
//-----------------------------------------------------
#region Operator overload
///
/// Overloaded [] operator to access the WindowCollection list
///
public Window this[int index]
{
get
{
return _list[index] as Window;
}
}
#endregion Operator overload
//------------------------------------------------------
//
// IEnumerable implementation
//
//------------------------------------------------------
#region IEnumerable implementation
///
/// GetEnumerator
///
///
public IEnumerator GetEnumerator()
{
return _list.GetEnumerator();
}
#endregion IEnumerable implementation
//-------------------------------------------------------
//
// ICollection implementation (derives from IEnumerable)
//
//--------------------------------------------------------
#region ICollection implementation
///
/// CopyTo
///
///
///
void ICollection.CopyTo(Array array, int index)
{
_list.CopyTo(array, index);
}
///
/// CopyTo
///
///
///
public void CopyTo(Window[] array, int index)
{
_list.CopyTo(array, index);
}
///
/// Count property
///
public int Count
{
get
{
return _list.Count;
}
}
///
/// IsSynchronized
///
public bool IsSynchronized
{
get
{
return _list.IsSynchronized;
}
}
///
/// SyncRoot
///
public Object SyncRoot
{
get
{
return _list.SyncRoot;
}
}
#endregion ICollection implementation
//-----------------------------------------------------
//
// Internal Methods
//
//-----------------------------------------------------
#region Internal Methods
internal WindowCollection Clone()
{
WindowCollection clone;
lock (_list.SyncRoot)
{
clone = new WindowCollection(_list.Count);
for (int i = 0; i < _list.Count; i++)
{
clone._list.Add(_list[i]);
}
}
return clone;
}
internal void Remove(Window win)
{
lock (_list.SyncRoot)
{
_list.Remove(win);
}
}
internal void RemoveAt(int index)
{
lock (_list.SyncRoot)
{
_list.Remove(index);
}
}
internal int Add (Window win)
{
lock (_list.SyncRoot)
{
return _list.Add(win);
}
}
internal bool HasItem(Window win)
{
lock (_list.SyncRoot)
{
for (int i = 0; i < _list.Count; i++)
{
if (_list[i] == win)
{
return true;
}
}
}
return false;
}
#endregion Internal Methods
//-----------------------------------------------------
//
// Private Fields
//
//------------------------------------------------------
#region Private Fields
private ArrayList _list;
#endregion Private Fields
}
#endregion WindowCollection class
}
// 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
- EventLogHandle.cs
- cookiecollection.cs
- FamilyTypefaceCollection.cs
- XsltFunctions.cs
- FileSecurity.cs
- WebPartCloseVerb.cs
- ControlCollection.cs
- StreamWriter.cs
- SqlDataReader.cs
- DeferredSelectedIndexReference.cs
- XmlAttributes.cs
- CompilerTypeWithParams.cs
- SettingsBase.cs
- GroupQuery.cs
- FixedTextView.cs
- ResourceReader.cs
- MemoryPressure.cs
- WorkflowHostingEndpoint.cs
- TreeView.cs
- SynchronizationValidator.cs
- Canvas.cs
- WorkflowMarkupSerializationManager.cs
- WebPartExportVerb.cs
- WorkflowOwnerAsyncResult.cs
- Point3DCollection.cs
- ClientSideQueueItem.cs
- ConditionalAttribute.cs
- ADConnectionHelper.cs
- UndoManager.cs
- WsdlImporterElement.cs
- ApplicationFileParser.cs
- InputReferenceExpression.cs
- FeatureSupport.cs
- DisplayInformation.cs
- WebPartMenu.cs
- Config.cs
- CodeLabeledStatement.cs
- RestHandlerFactory.cs
- CalendarDay.cs
- ValidatorUtils.cs
- Point3DAnimationUsingKeyFrames.cs
- ManagedFilter.cs
- WebPartMinimizeVerb.cs
- SqlCacheDependencyDatabaseCollection.cs
- SecurityRuntime.cs
- DataTable.cs
- BatchParser.cs
- InstrumentationTracker.cs
- FixedSOMGroup.cs
- EdmError.cs
- FixedPageAutomationPeer.cs
- HyperLinkColumn.cs
- ConstraintStruct.cs
- XmlUnspecifiedAttribute.cs
- ContainerFilterService.cs
- ActivityValidationServices.cs
- _SslStream.cs
- DecoderFallback.cs
- GlobalizationSection.cs
- XmlImplementation.cs
- DllNotFoundException.cs
- MetadataArtifactLoaderFile.cs
- User.cs
- IsolatedStorageException.cs
- Drawing.cs
- MemberDomainMap.cs
- Point3DValueSerializer.cs
- DataBindingValueUIHandler.cs
- CodeDirectoryCompiler.cs
- FilterQuery.cs
- NullExtension.cs
- SoapIgnoreAttribute.cs
- ReturnValue.cs
- KeyPullup.cs
- COAUTHINFO.cs
- SamlSecurityToken.cs
- SqlFacetAttribute.cs
- SchemaCollectionPreprocessor.cs
- RenderContext.cs
- FileIOPermission.cs
- ListBoxAutomationPeer.cs
- TransferMode.cs
- ViewPort3D.cs
- Pens.cs
- Pen.cs
- EndpointInfo.cs
- DataSourceBooleanViewSchemaConverter.cs
- UrlParameterReader.cs
- PointAnimationClockResource.cs
- UnSafeCharBuffer.cs
- SoapEnumAttribute.cs
- TextRangeEditLists.cs
- IntSecurity.cs
- MessageLoggingFilterTraceRecord.cs
- XsltLibrary.cs
- ErrorHandlerFaultInfo.cs
- HwndStylusInputProvider.cs
- DataTableReaderListener.cs
- filewebrequest.cs
- OverflowException.cs