Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- DbTransaction.cs
- ProtocolsConfigurationEntry.cs
- IisTraceWebEventProvider.cs
- DbConnectionPoolGroup.cs
- LocalizeDesigner.cs
- PathSegmentCollection.cs
- NegationPusher.cs
- TemplateInstanceAttribute.cs
- DataRecordInfo.cs
- ProcessModelInfo.cs
- StoryFragments.cs
- XmlILStorageConverter.cs
- WebContext.cs
- DesignTimeXamlWriter.cs
- StringExpressionSet.cs
- SelectionItemProviderWrapper.cs
- TableLayoutPanel.cs
- CqlParserHelpers.cs
- ContextProperty.cs
- TypeGeneratedEventArgs.cs
- SqlDataReader.cs
- DrawingGroup.cs
- SafeMILHandle.cs
- WindowsToolbarAsMenu.cs
- EntityDataSourceConfigureObjectContext.cs
- IisTraceWebEventProvider.cs
- SendActivity.cs
- XmlComplianceUtil.cs
- ContainerUtilities.cs
- CachedBitmap.cs
- InfoCardRSAOAEPKeyExchangeFormatter.cs
- TableLayoutCellPaintEventArgs.cs
- MarshalDirectiveException.cs
- COM2ComponentEditor.cs
- MaskedTextProvider.cs
- LinqDataSourceInsertEventArgs.cs
- SafeNativeMethodsCLR.cs
- URLAttribute.cs
- PersonalizationProvider.cs
- ResXResourceReader.cs
- ReaderContextStackData.cs
- ThaiBuddhistCalendar.cs
- NTAccount.cs
- XmlSubtreeReader.cs
- DefaultTextStoreTextComposition.cs
- PrintDialog.cs
- HttpStreamXmlDictionaryWriter.cs
- WhitespaceRuleReader.cs
- RoutedEventValueSerializer.cs
- DisplayNameAttribute.cs
- Wildcard.cs
- Process.cs
- ManagementPath.cs
- ErrorEventArgs.cs
- SizeConverter.cs
- _ListenerAsyncResult.cs
- ExpressionEvaluator.cs
- MetafileHeader.cs
- OwnerDrawPropertyBag.cs
- InstanceData.cs
- PassportIdentity.cs
- AssertSection.cs
- RTLAwareMessageBox.cs
- RandomDelaySendsAsyncResult.cs
- SqlGatherConsumedAliases.cs
- NamespaceInfo.cs
- SemaphoreFullException.cs
- ApplicationDirectoryMembershipCondition.cs
- StateItem.cs
- VisualBrush.cs
- MsmqIntegrationChannelListener.cs
- Handle.cs
- BinHexEncoder.cs
- FontDriver.cs
- StatusCommandUI.cs
- SR.Designer.cs
- ComboBoxRenderer.cs
- SamlConditions.cs
- PackageRelationship.cs
- EntityType.cs
- HttpCachePolicy.cs
- EncoderParameter.cs
- TileBrush.cs
- PropertyGroupDescription.cs
- SrgsElement.cs
- EntityClientCacheEntry.cs
- GeneralTransform2DTo3D.cs
- Translator.cs
- DispatcherEventArgs.cs
- EntityProxyFactory.cs
- XmlWriterDelegator.cs
- EDesignUtil.cs
- _HeaderInfoTable.cs
- SecurityContextSecurityToken.cs
- AnyAllSearchOperator.cs
- EventProxy.cs
- DataGridSortCommandEventArgs.cs
- SHA1CryptoServiceProvider.cs
- ConfigXmlCDataSection.cs
- SoapIgnoreAttribute.cs