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
- FormsAuthenticationConfiguration.cs
- CookielessHelper.cs
- RenderTargetBitmap.cs
- RequestCacheValidator.cs
- ContainerUIElement3D.cs
- XmlNodeChangedEventManager.cs
- UnauthorizedWebPart.cs
- TextTreeTextBlock.cs
- Win32NamedPipes.cs
- MobileContainerDesigner.cs
- DiscoveryEndpointValidator.cs
- KernelTypeValidation.cs
- DataGridClipboardCellContent.cs
- M3DUtil.cs
- ProcessModelSection.cs
- DoubleLinkListEnumerator.cs
- BadImageFormatException.cs
- KeyFrames.cs
- _OverlappedAsyncResult.cs
- AssociationSetEnd.cs
- InstanceDataCollectionCollection.cs
- ForwardPositionQuery.cs
- SmiConnection.cs
- PopupRoot.cs
- TreeNodeSelectionProcessor.cs
- Stacktrace.cs
- PageBorderless.cs
- TypeUnloadedException.cs
- login.cs
- CalloutQueueItem.cs
- LabelAutomationPeer.cs
- DataStorage.cs
- FormatException.cs
- Container.cs
- unsafenativemethodstextservices.cs
- NameService.cs
- WpfSharedBamlSchemaContext.cs
- WindowsListViewItem.cs
- ObjectViewListener.cs
- GridViewColumnCollection.cs
- DataPagerFieldItem.cs
- SimpleTypesSurrogate.cs
- TypedReference.cs
- TrackingStringDictionary.cs
- SafeMemoryMappedFileHandle.cs
- DoWorkEventArgs.cs
- DataGridState.cs
- OleAutBinder.cs
- FontEmbeddingManager.cs
- CfgParser.cs
- WebBodyFormatMessageProperty.cs
- BackgroundFormatInfo.cs
- ComponentCollection.cs
- Journal.cs
- FunctionDetailsReader.cs
- XmlSchemaInferenceException.cs
- Rectangle.cs
- GeometryModel3D.cs
- TransformValueSerializer.cs
- FlowDocumentPaginator.cs
- CompatibleComparer.cs
- MetadataArtifactLoaderXmlReaderWrapper.cs
- XmlSchemaObjectCollection.cs
- RegistrationServices.cs
- RequestUriProcessor.cs
- CallInfo.cs
- MembershipSection.cs
- MessageQueueAccessControlEntry.cs
- ReverseInheritProperty.cs
- MsdtcWrapper.cs
- DataBinder.cs
- ResourceReferenceExpressionConverter.cs
- NamedObject.cs
- TabItemWrapperAutomationPeer.cs
- ComponentManagerBroker.cs
- Object.cs
- WebPartTracker.cs
- BaseTemplateParser.cs
- WindowsSolidBrush.cs
- TdsParserSessionPool.cs
- HtmlLink.cs
- SectionXmlInfo.cs
- XamlNamespaceHelper.cs
- ToolStripDropDownItem.cs
- RotateTransform3D.cs
- Rights.cs
- CodeTypeReferenceCollection.cs
- XPathDescendantIterator.cs
- Label.cs
- MoveSizeWinEventHandler.cs
- Animatable.cs
- StreamSecurityUpgradeAcceptorBase.cs
- SystemFonts.cs
- ProcessThread.cs
- EventMappingSettingsCollection.cs
- FunctionImportElement.cs
- WebResponse.cs
- DockPattern.cs
- ProtocolsSection.cs
- WebChannelFactory.cs