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
- XmlSignificantWhitespace.cs
- AnchorEditor.cs
- Rfc2898DeriveBytes.cs
- ChildrenQuery.cs
- FormViewUpdatedEventArgs.cs
- SmiContextFactory.cs
- TextServicesCompartmentEventSink.cs
- X509ChainElement.cs
- NoneExcludedImageIndexConverter.cs
- SessionMode.cs
- WindowsSecurityToken.cs
- XamlTreeBuilderBamlRecordWriter.cs
- XmlBoundElement.cs
- DateTimeFormat.cs
- DataGridViewCell.cs
- Column.cs
- OperationPickerDialog.designer.cs
- SoapFault.cs
- RowCache.cs
- documentsequencetextpointer.cs
- ISessionStateStore.cs
- ContentElement.cs
- CodeMemberProperty.cs
- XmlDownloadManager.cs
- HttpApplicationFactory.cs
- CryptoConfig.cs
- ControlPager.cs
- SettingsSection.cs
- ToolTipAutomationPeer.cs
- GrammarBuilder.cs
- MsmqIntegrationSecurityMode.cs
- TextDecoration.cs
- SignatureResourcePool.cs
- ChannelSinkStacks.cs
- Main.cs
- ServiceDiscoveryElement.cs
- ConfigsHelper.cs
- TableCellCollection.cs
- ForeignConstraint.cs
- DataGridViewRowCollection.cs
- XmlILIndex.cs
- MeshGeometry3D.cs
- MenuAutoFormat.cs
- TransactedBatchingElement.cs
- Hashtable.cs
- DbProviderFactory.cs
- ResourceCategoryAttribute.cs
- DrawItemEvent.cs
- IDQuery.cs
- StatusStrip.cs
- CompositionAdorner.cs
- WebDisplayNameAttribute.cs
- _ListenerRequestStream.cs
- AdornerLayer.cs
- DeploymentSection.cs
- ProviderCollection.cs
- BindingsSection.cs
- FaultBookmark.cs
- IPCCacheManager.cs
- CodeTypeDelegate.cs
- CompilationRelaxations.cs
- KnownIds.cs
- LogicalCallContext.cs
- DataTemplateKey.cs
- PolicyChain.cs
- TabRenderer.cs
- SqlDataSourceStatusEventArgs.cs
- ConfigurationStrings.cs
- TreeNodeConverter.cs
- FieldAccessException.cs
- DefaultAssemblyResolver.cs
- RuleConditionDialog.Designer.cs
- ProjectionPruner.cs
- LocatorManager.cs
- TextAutomationPeer.cs
- WorkflowServiceHost.cs
- Environment.cs
- Table.cs
- DataGridViewComboBoxCell.cs
- MatrixUtil.cs
- _FtpDataStream.cs
- XmlNavigatorFilter.cs
- OutputCacheSection.cs
- SourceLineInfo.cs
- ContractUtils.cs
- SimplePropertyEntry.cs
- HtmlTableRowCollection.cs
- URLAttribute.cs
- ZipArchive.cs
- IconHelper.cs
- WpfSharedXamlSchemaContext.cs
- SqlInfoMessageEvent.cs
- CaseStatementSlot.cs
- StyleSheet.cs
- DockPattern.cs
- XmlSubtreeReader.cs
- SerializerDescriptor.cs
- XmlObjectSerializerWriteContextComplex.cs
- SupportedAddressingMode.cs
- IncrementalReadDecoders.cs