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
- NetworkInformationPermission.cs
- GridViewRowEventArgs.cs
- XmlSerializerSection.cs
- SchemaImporter.cs
- SerializationTrace.cs
- AssemblyAttributesGoHere.cs
- Scalars.cs
- HandlerMappingMemo.cs
- SHA512CryptoServiceProvider.cs
- RtfControls.cs
- SudsParser.cs
- NotImplementedException.cs
- GPRECT.cs
- XmlDataSourceNodeDescriptor.cs
- ConversionContext.cs
- RepeatBehaviorConverter.cs
- ControlFilterExpression.cs
- DateTimeFormat.cs
- ConnectivityStatus.cs
- ArgumentOutOfRangeException.cs
- ContextMarshalException.cs
- TextHidden.cs
- IDQuery.cs
- PrtCap_Builder.cs
- ButtonField.cs
- ResXDataNode.cs
- FileLogRecordHeader.cs
- XmlSchemaObject.cs
- RequestBringIntoViewEventArgs.cs
- EntityViewGenerationConstants.cs
- TextEditor.cs
- SchemaElement.cs
- ApplicationInfo.cs
- EncodingStreamWrapper.cs
- RelationshipFixer.cs
- DocumentStream.cs
- DivideByZeroException.cs
- InputScopeManager.cs
- ImageList.cs
- SHA1Managed.cs
- PriorityBinding.cs
- RunClient.cs
- ArraySegment.cs
- XmlILConstructAnalyzer.cs
- EntitySet.cs
- CodeAccessSecurityEngine.cs
- TaiwanCalendar.cs
- LineServicesCallbacks.cs
- DesignTimeParseData.cs
- DebugInfoExpression.cs
- ExtendedProperty.cs
- ZipIOExtraFieldZip64Element.cs
- HideDisabledControlAdapter.cs
- TextSerializer.cs
- MaterialCollection.cs
- ListBase.cs
- AlignmentYValidation.cs
- SafeReversePInvokeHandle.cs
- XsdBuilder.cs
- elementinformation.cs
- Regex.cs
- CreatingCookieEventArgs.cs
- DataObjectMethodAttribute.cs
- RelatedPropertyManager.cs
- ObjectStateFormatter.cs
- DataGridColumnHeadersPresenter.cs
- MetadataSource.cs
- InsufficientMemoryException.cs
- RefType.cs
- TreeSet.cs
- PeerNearMe.cs
- DbConnectionPoolCounters.cs
- PageParser.cs
- ReferenceEqualityComparer.cs
- ListSourceHelper.cs
- HiddenField.cs
- XmlSchemaSimpleContentRestriction.cs
- DbParameterCollection.cs
- httpstaticobjectscollection.cs
- Compiler.cs
- CallbackValidator.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- ResourcesBuildProvider.cs
- HandleRef.cs
- MSAAWinEventWrap.cs
- WinCategoryAttribute.cs
- SymbolType.cs
- TypeSystem.cs
- PluralizationServiceUtil.cs
- complextypematerializer.cs
- COM2DataTypeToManagedDataTypeConverter.cs
- WindowsSidIdentity.cs
- ClientRequest.cs
- ComponentFactoryHelpers.cs
- StrokeNodeData.cs
- TableLayoutColumnStyleCollection.cs
- WizardDesigner.cs
- ExeConfigurationFileMap.cs
- XpsFilter.cs
- ReverseQueryOperator.cs