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
- OleDbCommand.cs
- ISAPIRuntime.cs
- WriterOutput.cs
- Utils.cs
- DrawingAttributesDefaultValueFactory.cs
- DiscoveryClientDuplexChannel.cs
- LinkedResourceCollection.cs
- ContentValidator.cs
- NamespaceEmitter.cs
- TrackingLocationCollection.cs
- wmiprovider.cs
- XmlFileEditor.cs
- UdpDiscoveryEndpointProvider.cs
- XmlNodeReader.cs
- SignatureResourcePool.cs
- InkPresenterAutomationPeer.cs
- StoreAnnotationsMap.cs
- OleDbInfoMessageEvent.cs
- JsonDeserializer.cs
- NavigationWindow.cs
- DataServiceQueryOfT.cs
- UIElementPropertyUndoUnit.cs
- DependencyPropertyConverter.cs
- FontFamilyValueSerializer.cs
- TextProviderWrapper.cs
- DictionaryBase.cs
- DataColumnMappingCollection.cs
- EndpointFilterProvider.cs
- TransformConverter.cs
- TraceListener.cs
- XamlClipboardData.cs
- HwndKeyboardInputProvider.cs
- CharKeyFrameCollection.cs
- ExpressionNode.cs
- ImplicitInputBrush.cs
- AsyncDataRequest.cs
- RenderDataDrawingContext.cs
- SchemaImporter.cs
- COM2ExtendedTypeConverter.cs
- SolidBrush.cs
- CompositionDesigner.cs
- WebPartChrome.cs
- Trigger.cs
- XmlImplementation.cs
- AttachedProperty.cs
- Win32Exception.cs
- DataFieldCollectionEditor.cs
- OdbcParameterCollection.cs
- SiteMap.cs
- CfgParser.cs
- SchemaTableOptionalColumn.cs
- SplitContainerDesigner.cs
- AttachmentService.cs
- IdnMapping.cs
- CqlGenerator.cs
- ZipFileInfoCollection.cs
- KnownTypesProvider.cs
- BidOverLoads.cs
- MeasureData.cs
- Helpers.cs
- WindowsFormsSectionHandler.cs
- CodeGotoStatement.cs
- SmtpFailedRecipientException.cs
- SortKey.cs
- ChannelSinkStacks.cs
- HttpModuleActionCollection.cs
- Attributes.cs
- EntityParameterCollection.cs
- AsyncOperationManager.cs
- ListManagerBindingsCollection.cs
- GenericEnumConverter.cs
- PathTooLongException.cs
- HideDisabledControlAdapter.cs
- HebrewCalendar.cs
- SqlStatistics.cs
- VectorAnimation.cs
- ImageAutomationPeer.cs
- GC.cs
- DynamicHyperLink.cs
- SecurityState.cs
- TextServicesManager.cs
- SQLRoleProvider.cs
- SharedPersonalizationStateInfo.cs
- XmlDataLoader.cs
- PolygonHotSpot.cs
- WsdlParser.cs
- ObjectNotFoundException.cs
- DataGridViewCellFormattingEventArgs.cs
- HelpExampleGenerator.cs
- RankException.cs
- EventLogEntry.cs
- CommandArguments.cs
- JavaScriptObjectDeserializer.cs
- ZipIOModeEnforcingStream.cs
- AmbientProperties.cs
- ScrollItemProviderWrapper.cs
- DownloadProgressEventArgs.cs
- HttpHandlersSection.cs
- MarshalDirectiveException.cs
- TypeDescriptionProviderAttribute.cs