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
- ExtentKey.cs
- SpellerError.cs
- ToolStripItemTextRenderEventArgs.cs
- Button.cs
- SafePointer.cs
- URI.cs
- SoapClientMessage.cs
- SchemaCollectionCompiler.cs
- RestHandler.cs
- ImmComposition.cs
- PnrpPeerResolverBindingElement.cs
- ListBindingHelper.cs
- SelfIssuedAuthProofToken.cs
- StretchValidation.cs
- DiscoveryClientDocuments.cs
- ZoneButton.cs
- MediaElement.cs
- FontWeightConverter.cs
- ViewStateException.cs
- StylusButton.cs
- PropertyStore.cs
- DetailsViewCommandEventArgs.cs
- ResourceProviderFactory.cs
- DataTableReader.cs
- Binding.cs
- ConfigurationManagerHelperFactory.cs
- CommittableTransaction.cs
- SqlParameterizer.cs
- SkinBuilder.cs
- ToolStripDropDownClosedEventArgs.cs
- CompositeControlDesigner.cs
- WindowsProgressbar.cs
- HttpListenerContext.cs
- UncommonField.cs
- SpellerInterop.cs
- InfoCardArgumentException.cs
- OrderedDictionaryStateHelper.cs
- ProcessProtocolHandler.cs
- SystemTcpStatistics.cs
- FormViewCommandEventArgs.cs
- TextServicesContext.cs
- RegexGroup.cs
- XmlQueryRuntime.cs
- RefExpr.cs
- XmlTextReaderImplHelpers.cs
- AsyncDataRequest.cs
- XmlLinkedNode.cs
- DbCommandTree.cs
- ComponentResourceKeyConverter.cs
- ScaleTransform.cs
- XmlQueryTypeFactory.cs
- XmlnsCache.cs
- GifBitmapEncoder.cs
- ObjectFactoryCodeDomTreeGenerator.cs
- DataError.cs
- BooleanAnimationUsingKeyFrames.cs
- WindowsAltTab.cs
- Vector3DAnimationBase.cs
- ModuleBuilder.cs
- CultureTableRecord.cs
- FlatButtonAppearance.cs
- StateWorkerRequest.cs
- Dictionary.cs
- Cursors.cs
- ConfigDefinitionUpdates.cs
- Rectangle.cs
- BaseValidator.cs
- fixedPageContentExtractor.cs
- XmlIlGenerator.cs
- _AutoWebProxyScriptWrapper.cs
- XmlSerializerSection.cs
- ServiceNotStartedException.cs
- StorageEndPropertyMapping.cs
- EdgeProfileValidation.cs
- Mutex.cs
- CriticalFinalizerObject.cs
- Canvas.cs
- SHA384.cs
- PointAnimationClockResource.cs
- MdiWindowListStrip.cs
- ExternalException.cs
- TextServicesPropertyRanges.cs
- DatePickerAutomationPeer.cs
- securestring.cs
- IndexedString.cs
- StdValidatorsAndConverters.cs
- DataGridViewBand.cs
- TextRangeProviderWrapper.cs
- MetadataArtifactLoaderCompositeResource.cs
- WebPartRestoreVerb.cs
- DesignerOptionService.cs
- SHA512Cng.cs
- PersianCalendar.cs
- SspiSecurityTokenParameters.cs
- OperationInvokerBehavior.cs
- Wizard.cs
- assertwrapper.cs
- LocalClientSecuritySettings.cs
- DropTarget.cs
- State.cs