Code:
/ 4.0 / 4.0 / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / WindowCollection.cs / 1305600 / 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
- MatrixAnimationUsingPath.cs
- RbTree.cs
- CultureInfoConverter.cs
- XmlAggregates.cs
- regiisutil.cs
- ProcessThreadCollection.cs
- StopStoryboard.cs
- LassoSelectionBehavior.cs
- DataGridViewDataErrorEventArgs.cs
- PageThemeCodeDomTreeGenerator.cs
- _BaseOverlappedAsyncResult.cs
- SchemaDeclBase.cs
- ValueQuery.cs
- FontDriver.cs
- GlobalEventManager.cs
- BaseDataList.cs
- SerializationException.cs
- DisposableCollectionWrapper.cs
- TextRange.cs
- TableRow.cs
- ArraySegment.cs
- LocalizationParserHooks.cs
- ViewBox.cs
- SingleConverter.cs
- AppDomainInfo.cs
- SafeSecurityHandles.cs
- BinaryFormatter.cs
- ManagementObject.cs
- TemplateBindingExtensionConverter.cs
- StandardBindingOptionalReliableSessionElement.cs
- DataGridViewCellPaintingEventArgs.cs
- NetworkStream.cs
- SecurityManager.cs
- BaseDataListPage.cs
- FileLogRecordStream.cs
- BadImageFormatException.cs
- GridLength.cs
- StringDictionaryWithComparer.cs
- HtmlImage.cs
- DbConnectionStringCommon.cs
- MailWebEventProvider.cs
- Debug.cs
- ReaderWriterLock.cs
- PrtTicket_Editor.cs
- FacetChecker.cs
- MsdtcClusterUtils.cs
- PeerNameRecord.cs
- FileUpload.cs
- TcpHostedTransportConfiguration.cs
- CodeMemberField.cs
- FamilyTypeface.cs
- XmlValidatingReaderImpl.cs
- EntityTypeBase.cs
- CurrencyManager.cs
- FontCacheLogic.cs
- XmlnsDefinitionAttribute.cs
- ExpressionValueEditor.cs
- WebPartAddingEventArgs.cs
- PropertyNames.cs
- OdbcConnectionHandle.cs
- IndexOutOfRangeException.cs
- PartitionResolver.cs
- _HTTPDateParse.cs
- LicenseContext.cs
- GlyphRunDrawing.cs
- SpAudioStreamWrapper.cs
- MaskedTextBox.cs
- CustomTypeDescriptor.cs
- CollectionView.cs
- SatelliteContractVersionAttribute.cs
- SqlBuffer.cs
- DropDownList.cs
- ComplexTypeEmitter.cs
- HandlerBase.cs
- TextSelectionProcessor.cs
- RectangleConverter.cs
- PictureBox.cs
- PrimitiveCodeDomSerializer.cs
- Oid.cs
- X509Chain.cs
- MutexSecurity.cs
- DataRecordInternal.cs
- DataTableNewRowEvent.cs
- DataControlImageButton.cs
- DiffuseMaterial.cs
- MessagePropertyFilter.cs
- HttpInputStream.cs
- PropertyRef.cs
- Exceptions.cs
- CodeDefaultValueExpression.cs
- WebHostedComPlusServiceHost.cs
- StopStoryboard.cs
- RectangleConverter.cs
- ListManagerBindingsCollection.cs
- SecurityNegotiationException.cs
- DataGridHeaderBorder.cs
- BitmapEffectGeneralTransform.cs
- SqlServices.cs
- DataSvcMapFileSerializer.cs
- ObjectReferenceStack.cs