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
- WebServiceMethodData.cs
- MemberMaps.cs
- ExpressionBuilderCollection.cs
- BooleanProjectedSlot.cs
- DataStreamFromComStream.cs
- WebPartMenuStyle.cs
- ContentDisposition.cs
- ReadOnlyMetadataCollection.cs
- TdsRecordBufferSetter.cs
- HtmlInputImage.cs
- ObjectMemberMapping.cs
- MessageBox.cs
- DirectionalLight.cs
- ParameterModifier.cs
- DetailsViewPageEventArgs.cs
- NativeRightsManagementAPIsStructures.cs
- LabelDesigner.cs
- ReadOnlyTernaryTree.cs
- ChangeDirector.cs
- UnknownBitmapDecoder.cs
- Lease.cs
- MimePart.cs
- FileSecurity.cs
- SubpageParaClient.cs
- ClientSponsor.cs
- BoundColumn.cs
- ProfileSettingsCollection.cs
- Rect3DConverter.cs
- SqlCachedBuffer.cs
- DataControlFieldCell.cs
- WmlFormAdapter.cs
- autovalidator.cs
- BitmapScalingModeValidation.cs
- TextServicesCompartmentEventSink.cs
- XmlSerializerVersionAttribute.cs
- ScrollChangedEventArgs.cs
- SqlUnionizer.cs
- UserUseLicenseDictionaryLoader.cs
- PageAdapter.cs
- DEREncoding.cs
- WindowsTokenRoleProvider.cs
- ArglessEventHandlerProxy.cs
- FastEncoderStatics.cs
- HostingEnvironmentWrapper.cs
- EllipticalNodeOperations.cs
- TreeNodeStyleCollection.cs
- WebRequestModuleElementCollection.cs
- XamlGridLengthSerializer.cs
- TextRangeProviderWrapper.cs
- Int16Storage.cs
- ArcSegment.cs
- XmlQuerySequence.cs
- HandleCollector.cs
- CreateUserWizardStep.cs
- XhtmlConformanceSection.cs
- LineServicesRun.cs
- RegistrySecurity.cs
- BinHexEncoder.cs
- KeyedHashAlgorithm.cs
- ToolBarOverflowPanel.cs
- SecureConversationDriver.cs
- _NegoStream.cs
- ListBoxItem.cs
- AspProxy.cs
- SqlSelectStatement.cs
- WebResourceUtil.cs
- DbProviderFactory.cs
- StatusBarItem.cs
- SafeNativeMethods.cs
- StateChangeEvent.cs
- AuthenticationSection.cs
- Int32Converter.cs
- TagMapInfo.cs
- ColumnMapTranslator.cs
- AuthenticationConfig.cs
- ToolStrip.cs
- OleStrCAMarshaler.cs
- UseLicense.cs
- LabelTarget.cs
- DataControlFieldHeaderCell.cs
- PointCollectionConverter.cs
- XmlSerializationGeneratedCode.cs
- connectionpool.cs
- CompositeKey.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- ScrollViewer.cs
- CookieParameter.cs
- ConfigurationPropertyAttribute.cs
- Msec.cs
- SmiGettersStream.cs
- XslCompiledTransform.cs
- CompositeCollectionView.cs
- CompModSwitches.cs
- SpellerHighlightLayer.cs
- TextStore.cs
- XamlValidatingReader.cs
- COAUTHIDENTITY.cs
- IndexerReference.cs
- FormattedText.cs
- WebServiceEnumData.cs