Code:
/ 4.0 / 4.0 / untmp / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- SelectionWordBreaker.cs
- BindingEntityInfo.cs
- ZipIOCentralDirectoryDigitalSignature.cs
- Aggregates.cs
- InputMethodStateChangeEventArgs.cs
- ExeConfigurationFileMap.cs
- DataGrid.cs
- RuntimeHelpers.cs
- Descriptor.cs
- ChameleonKey.cs
- WorkflowCreationContext.cs
- DataServiceEntityAttribute.cs
- ServiceReference.cs
- TypeRestriction.cs
- OracleRowUpdatingEventArgs.cs
- DelegatingTypeDescriptionProvider.cs
- HttpListenerRequestTraceRecord.cs
- TripleDESCryptoServiceProvider.cs
- X509ThumbprintKeyIdentifierClause.cs
- ListSourceHelper.cs
- ActivityDefaults.cs
- GPPOINTF.cs
- Msmq.cs
- HandleCollector.cs
- FontCacheUtil.cs
- HwndHostAutomationPeer.cs
- UrlPath.cs
- BinaryObjectReader.cs
- WebMessageEncodingBindingElement.cs
- HitTestFilterBehavior.cs
- EncoderReplacementFallback.cs
- MsmqDecodeHelper.cs
- xamlnodes.cs
- Rotation3DAnimation.cs
- MissingFieldException.cs
- Activator.cs
- WebProxyScriptElement.cs
- WindowsAuthenticationModule.cs
- PenLineJoinValidation.cs
- DuplexClientBase.cs
- RelativeSource.cs
- ReflectionPermission.cs
- MarshalByRefObject.cs
- QilCloneVisitor.cs
- CodeDomSerializerException.cs
- OleDbConnection.cs
- PassportAuthentication.cs
- XPathItem.cs
- InvalidOperationException.cs
- RowToParametersTransformer.cs
- SHA256CryptoServiceProvider.cs
- ErrorInfoXmlDocument.cs
- ListControlBuilder.cs
- VectorAnimation.cs
- DBSqlParserTableCollection.cs
- FileDialog_Vista_Interop.cs
- DbParameterHelper.cs
- Activator.cs
- DataMember.cs
- FreezableOperations.cs
- FileDialogPermission.cs
- Int64Animation.cs
- AsyncResult.cs
- Constraint.cs
- ConfigurationStrings.cs
- BrushMappingModeValidation.cs
- WebBrowserSiteBase.cs
- InlineObject.cs
- BlobPersonalizationState.cs
- Int32Collection.cs
- Internal.cs
- Int16Storage.cs
- GrowingArray.cs
- ComPlusContractBehavior.cs
- MenuCommandsChangedEventArgs.cs
- ListView.cs
- LogExtentCollection.cs
- StructuredProperty.cs
- FixedPosition.cs
- Wildcard.cs
- TogglePatternIdentifiers.cs
- PolicyException.cs
- TemplatedMailWebEventProvider.cs
- ISAPIApplicationHost.cs
- ViewCellSlot.cs
- ValidationEventArgs.cs
- DrawListViewColumnHeaderEventArgs.cs
- XmlCompatibilityReader.cs
- CodeCommentStatementCollection.cs
- ClientBuildManagerCallback.cs
- TimersDescriptionAttribute.cs
- LightweightCodeGenerator.cs
- Marshal.cs
- DocumentsTrace.cs
- webeventbuffer.cs
- ServiceModelConfigurationElementCollection.cs
- MessageHeaderAttribute.cs
- RtfNavigator.cs
- WeakEventManager.cs
- DiscoveryClient.cs