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
- DiscreteKeyFrames.cs
- dataprotectionpermissionattribute.cs
- OleDbDataReader.cs
- DelegateHelpers.Generated.cs
- ConfigViewGenerator.cs
- GeneralTransformGroup.cs
- AutomationPropertyInfo.cs
- StateDesigner.TransitionInfo.cs
- DataBindingCollection.cs
- StringTraceRecord.cs
- X509CertificateCollection.cs
- XLinq.cs
- TerminatorSinks.cs
- ProfilePropertySettings.cs
- PaginationProgressEventArgs.cs
- FileLoadException.cs
- XmlBinaryReader.cs
- XmlSchemaDocumentation.cs
- ButtonBaseAdapter.cs
- PreservationFileReader.cs
- CompilerState.cs
- WebControl.cs
- ConvertBinder.cs
- DefaultObjectMappingItemCollection.cs
- InsufficientExecutionStackException.cs
- SHA384Cng.cs
- SymbolType.cs
- OutputCacheSettings.cs
- ResourceType.cs
- ServiceNameElement.cs
- PriorityBindingExpression.cs
- Highlights.cs
- OleDbCommand.cs
- figurelength.cs
- TextTrailingCharacterEllipsis.cs
- MobileControlDesigner.cs
- DocumentCollection.cs
- TextBox.cs
- XmlSerializableServices.cs
- GrowingArray.cs
- SoapElementAttribute.cs
- VSDExceptions.cs
- ConfigsHelper.cs
- FrameworkElementFactory.cs
- InlineCollection.cs
- SafeLocalMemHandle.cs
- PeerNearMe.cs
- SafeCryptoHandles.cs
- TargetParameterCountException.cs
- IIS7WorkerRequest.cs
- Rule.cs
- Image.cs
- InvokeMethodActivityDesigner.cs
- BaseProcessor.cs
- NullableFloatSumAggregationOperator.cs
- MailDefinition.cs
- AnonymousIdentificationModule.cs
- ScrollBar.cs
- HashCodeCombiner.cs
- WebConfigurationManager.cs
- Matrix3D.cs
- VisualStyleRenderer.cs
- DrawingDrawingContext.cs
- RegexCompiler.cs
- RoutedEvent.cs
- CombinedGeometry.cs
- Image.cs
- AddressHeaderCollectionElement.cs
- ConfigurationManagerHelperFactory.cs
- AffineTransform3D.cs
- ProfilePropertyNameValidator.cs
- BaseAsyncResult.cs
- PermissionSetEnumerator.cs
- SmtpMail.cs
- X509CertificateValidator.cs
- WebPartHelpVerb.cs
- MessageQueueTransaction.cs
- SafeEventLogReadHandle.cs
- HiddenFieldDesigner.cs
- ContentElementAutomationPeer.cs
- RadioButton.cs
- InputProviderSite.cs
- EmptyReadOnlyDictionaryInternal.cs
- SmiContext.cs
- SerializableTypeCodeDomSerializer.cs
- RetrieveVirtualItemEventArgs.cs
- HttpCapabilitiesEvaluator.cs
- ClientRuntimeConfig.cs
- _CookieModule.cs
- WindowShowOrOpenTracker.cs
- RuntimeUtils.cs
- ChangeProcessor.cs
- BoundPropertyEntry.cs
- DataGridCaption.cs
- MeasureData.cs
- HandledEventArgs.cs
- StoreItemCollection.Loader.cs
- DataSourceHelper.cs
- ConnectionOrientedTransportChannelListener.cs
- ChannelEndpointElementCollection.cs