Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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: [....] 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
- PackWebRequestFactory.cs
- UInt32Converter.cs
- PageThemeCodeDomTreeGenerator.cs
- QilTernary.cs
- TaiwanCalendar.cs
- DataGridViewRowHeaderCell.cs
- MappingItemCollection.cs
- Control.cs
- PointAnimation.cs
- Menu.cs
- DocumentViewerBaseAutomationPeer.cs
- PageAsyncTaskManager.cs
- HtmlLink.cs
- BigInt.cs
- _HeaderInfo.cs
- Rights.cs
- ConfigPathUtility.cs
- DictionaryGlobals.cs
- oledbconnectionstring.cs
- MailMessageEventArgs.cs
- RuleEngine.cs
- DataGridViewAdvancedBorderStyle.cs
- RegistryExceptionHelper.cs
- RSAPKCS1SignatureFormatter.cs
- InlineCollection.cs
- Light.cs
- EdgeProfileValidation.cs
- BamlReader.cs
- ResourcePool.cs
- WebPartsSection.cs
- RuleRefElement.cs
- typedescriptorpermission.cs
- EdmProviderManifest.cs
- DesignTimeResourceProviderFactoryAttribute.cs
- PermissionSetEnumerator.cs
- ConvertEvent.cs
- AddingNewEventArgs.cs
- ContextStaticAttribute.cs
- cookieexception.cs
- CompensationHandlingFilter.cs
- IISMapPath.cs
- XmlWrappingReader.cs
- OutputCacheModule.cs
- DockProviderWrapper.cs
- ReadWriteObjectLock.cs
- WindowsFormsHost.cs
- FixedPosition.cs
- ToolboxItemAttribute.cs
- DataException.cs
- UpdatePanelTrigger.cs
- JavaScriptSerializer.cs
- _UriSyntax.cs
- SourceElementsCollection.cs
- UrlPath.cs
- Cursor.cs
- Blend.cs
- ContainerVisual.cs
- XmlFormatWriterGenerator.cs
- FolderBrowserDialog.cs
- FlowDocumentView.cs
- LassoSelectionBehavior.cs
- XmlTextWriter.cs
- EmptyControlCollection.cs
- CellParagraph.cs
- AnonymousIdentificationSection.cs
- LayoutTableCell.cs
- ClientBuildManager.cs
- DatagridviewDisplayedBandsData.cs
- ListenerPerfCounters.cs
- PageOrientation.cs
- HttpApplicationFactory.cs
- CursorConverter.cs
- DirectoryRootQuery.cs
- HitTestFilterBehavior.cs
- WebPartUtil.cs
- RowSpanVector.cs
- ActiveDesignSurfaceEvent.cs
- PolicyLevel.cs
- SimpleFileLog.cs
- AttributeCollection.cs
- WmlLabelAdapter.cs
- SoapAttributeOverrides.cs
- ShortcutKeysEditor.cs
- PathFigureCollectionValueSerializer.cs
- ProjectionPruner.cs
- WebEvents.cs
- DispatcherExceptionFilterEventArgs.cs
- VarRemapper.cs
- XmlSchemaComplexContent.cs
- FixedLineResult.cs
- DataControlExtensions.cs
- PermissionListSet.cs
- ResourceIDHelper.cs
- GridItem.cs
- ParentQuery.cs
- MissingManifestResourceException.cs
- ProjectionCamera.cs
- EntityParameterCollection.cs
- SqlDataSource.cs
- TimeoutHelper.cs