Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / 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
- SpoolingTaskBase.cs
- PeerNameRegistration.cs
- PartBasedPackageProperties.cs
- Peer.cs
- XPathAxisIterator.cs
- AutomationElement.cs
- UpdateExpressionVisitor.cs
- FormView.cs
- LinkGrep.cs
- NativeStructs.cs
- HMACRIPEMD160.cs
- XmlWriterDelegator.cs
- EntityStoreSchemaFilterEntry.cs
- EntitySqlQueryCacheEntry.cs
- arabicshape.cs
- Button.cs
- DataSetUtil.cs
- FixedSOMSemanticBox.cs
- XmlTextReaderImpl.cs
- ClientConfigurationSystem.cs
- TCEAdapterGenerator.cs
- GlyphsSerializer.cs
- RadialGradientBrush.cs
- Compiler.cs
- MarkupCompilePass1.cs
- UnionCqlBlock.cs
- SubqueryRules.cs
- DateTimeUtil.cs
- cookiecontainer.cs
- ButtonStandardAdapter.cs
- ParseNumbers.cs
- DiscoveryViaBehavior.cs
- CodeComment.cs
- BamlLocalizationDictionary.cs
- ResourceManager.cs
- GridViewRow.cs
- basenumberconverter.cs
- AsyncCallback.cs
- unsafenativemethodsother.cs
- DataBindEngine.cs
- ArgIterator.cs
- TextEditorLists.cs
- SimplePropertyEntry.cs
- StateValidator.cs
- StoreContentChangedEventArgs.cs
- DigitShape.cs
- RecognizerInfo.cs
- RefType.cs
- SerializationAttributes.cs
- DocumentViewer.cs
- OracleBFile.cs
- Rotation3DAnimationBase.cs
- ActiveXHelper.cs
- ActiveXHost.cs
- DebugInfo.cs
- SimpleType.cs
- DataShape.cs
- QueryValue.cs
- X509ChainPolicy.cs
- DataReaderContainer.cs
- XhtmlCssHandler.cs
- ExtentJoinTreeNode.cs
- XmlUTF8TextReader.cs
- EFAssociationProvider.cs
- ImageListStreamer.cs
- PlanCompiler.cs
- CopyAttributesAction.cs
- ContentPresenter.cs
- _AutoWebProxyScriptEngine.cs
- SqlTypesSchemaImporter.cs
- BindingExpression.cs
- ApplicationDirectory.cs
- ExpressionBinding.cs
- MarkupProperty.cs
- ComponentSerializationService.cs
- PnrpPeerResolverBindingElement.cs
- DataGridViewTextBoxEditingControl.cs
- RequestResizeEvent.cs
- XmlWriterTraceListener.cs
- PartitionResolver.cs
- InheritanceContextChangedEventManager.cs
- BinaryParser.cs
- XmlTypeMapping.cs
- ISAPIApplicationHost.cs
- Literal.cs
- TreePrinter.cs
- MessageQueue.cs
- TreeViewItemAutomationPeer.cs
- FontSourceCollection.cs
- AssemblySettingAttributes.cs
- ClientSession.cs
- While.cs
- AppSettingsExpressionBuilder.cs
- BamlTreeNode.cs
- SystemColors.cs
- EntityContainerEntitySetDefiningQuery.cs
- MemberPathMap.cs
- SystemIPInterfaceProperties.cs
- GeneratedView.cs
- FixedSOMPageConstructor.cs