Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / wpf / src / 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: kusumav 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.
//----------------------------------------------------------------------------
//
//
// 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: kusumav 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
- NavigationWindowAutomationPeer.cs
- CqlIdentifiers.cs
- AccessorTable.cs
- ThaiBuddhistCalendar.cs
- _AcceptOverlappedAsyncResult.cs
- ResXBuildProvider.cs
- precedingquery.cs
- DbConnectionPool.cs
- XmlAnyAttributeAttribute.cs
- Clipboard.cs
- OraclePermissionAttribute.cs
- UrlMappingsModule.cs
- StringSource.cs
- DoubleStorage.cs
- XmlSchema.cs
- SoundPlayer.cs
- RootProfilePropertySettingsCollection.cs
- PropertyValueChangedEvent.cs
- WSFederationHttpBindingCollectionElement.cs
- HighContrastHelper.cs
- DbCommandTree.cs
- Utility.cs
- PrimitiveSchema.cs
- HtmlInputControl.cs
- Context.cs
- XmlSchemaRedefine.cs
- ClientScriptManager.cs
- TaskCanceledException.cs
- MetadataCache.cs
- OrderByLifter.cs
- Int16.cs
- PermissionListSet.cs
- SQLGuidStorage.cs
- SafeRegistryKey.cs
- ProfilePropertySettings.cs
- WindowsGraphicsCacheManager.cs
- VolatileEnlistmentState.cs
- LazyTextWriterCreator.cs
- ApplicationBuildProvider.cs
- OraclePermissionAttribute.cs
- IdentityReference.cs
- AsymmetricKeyExchangeFormatter.cs
- GenericIdentity.cs
- HttpCapabilitiesSectionHandler.cs
- WebPartRestoreVerb.cs
- RecipientInfo.cs
- SubstitutionList.cs
- CacheDependency.cs
- ArithmeticLiteral.cs
- HttpApplicationStateBase.cs
- ThreadNeutralSemaphore.cs
- ApplicationGesture.cs
- ZoomPercentageConverter.cs
- SpellerHighlightLayer.cs
- XmlSchemaObjectCollection.cs
- MethodInfo.cs
- AxHostDesigner.cs
- FixedTextPointer.cs
- CodeExpressionCollection.cs
- Transactions.cs
- ThreadStaticAttribute.cs
- CapabilitiesPattern.cs
- EventEntry.cs
- MetadataArtifactLoaderFile.cs
- CheckBox.cs
- RunInstallerAttribute.cs
- ServiceReference.cs
- PrincipalPermission.cs
- FileChangesMonitor.cs
- Assign.cs
- ModuleElement.cs
- CompilerWrapper.cs
- SqlNotificationRequest.cs
- ListViewGroupConverter.cs
- ProcessManager.cs
- MDIWindowDialog.cs
- LinkConverter.cs
- CharKeyFrameCollection.cs
- TransformConverter.cs
- KeyEventArgs.cs
- SiteMapNodeItem.cs
- IntermediatePolicyValidator.cs
- securitycriticaldataformultiplegetandset.cs
- ConfigurationSectionGroup.cs
- FloatSumAggregationOperator.cs
- AppliedDeviceFiltersDialog.cs
- ApplicationFileParser.cs
- RulePatternOps.cs
- OutputBuffer.cs
- PlanCompiler.cs
- BeginEvent.cs
- RedBlackList.cs
- SecurityTokenProviderContainer.cs
- CodeGenerator.cs
- ResourceDescriptionAttribute.cs
- StorageEntityTypeMapping.cs
- ComplexBindingPropertiesAttribute.cs
- SystemParameters.cs
- EncryptedType.cs
- WindowsListView.cs