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
- SafeRightsManagementHandle.cs
- CheckedListBox.cs
- SmtpNtlmAuthenticationModule.cs
- DisableDpiAwarenessAttribute.cs
- HttpFileCollectionBase.cs
- webbrowsersite.cs
- XmlSchemaSimpleTypeRestriction.cs
- StoreConnection.cs
- Int32AnimationUsingKeyFrames.cs
- ToolStripSplitStackLayout.cs
- QueueProcessor.cs
- AnnotationAuthorChangedEventArgs.cs
- MatrixAnimationBase.cs
- GenericArgumentsUpdater.cs
- ConnectionManagementElementCollection.cs
- RestrictedTransactionalPackage.cs
- CmsInterop.cs
- TextCharacters.cs
- XsltLoader.cs
- ColumnProvider.cs
- WebServiceAttribute.cs
- ImageSourceValueSerializer.cs
- thaishape.cs
- ContextBase.cs
- ListInitExpression.cs
- StaticSiteMapProvider.cs
- util.cs
- sqlstateclientmanager.cs
- MasterPageParser.cs
- ComEventsHelper.cs
- DetailsViewUpdateEventArgs.cs
- ECDiffieHellmanCng.cs
- ResXResourceSet.cs
- WizardForm.cs
- ListSortDescriptionCollection.cs
- ConnectionPoolManager.cs
- LineServicesCallbacks.cs
- _Semaphore.cs
- ChildTable.cs
- ValueOfAction.cs
- Annotation.cs
- CommandDevice.cs
- CleanUpVirtualizedItemEventArgs.cs
- AutomationPropertyInfo.cs
- InitializationEventAttribute.cs
- MonikerUtility.cs
- EntityClassGenerator.cs
- ServiceAuthorizationBehavior.cs
- DataRelationCollection.cs
- ImageConverter.cs
- Setter.cs
- ContractType.cs
- FontSource.cs
- ToolStripSeparator.cs
- TypeConverter.cs
- AccessDataSource.cs
- CustomTypeDescriptor.cs
- SourceFileInfo.cs
- SessionPageStateSection.cs
- DataColumnChangeEvent.cs
- StaticExtensionConverter.cs
- DPAPIProtectedConfigurationProvider.cs
- AutomationIdentifierGuids.cs
- QueueProcessor.cs
- Root.cs
- ParserHooks.cs
- StandardToolWindows.cs
- DataObject.cs
- DataBoundLiteralControl.cs
- WindowsStatic.cs
- CompleteWizardStep.cs
- MasterPageCodeDomTreeGenerator.cs
- Condition.cs
- WebPartVerbCollection.cs
- MouseBinding.cs
- ZipFileInfoCollection.cs
- Command.cs
- ErrorFormatterPage.cs
- ValueConversionAttribute.cs
- CodeAccessSecurityEngine.cs
- SqlCaseSimplifier.cs
- QilValidationVisitor.cs
- BasicAsyncResult.cs
- CodeTypeReferenceSerializer.cs
- Comparer.cs
- FormViewDesigner.cs
- HttpHandlersSection.cs
- SplineKeyFrames.cs
- CodeAssignStatement.cs
- DataControlPagerLinkButton.cs
- BaseDataList.cs
- GridViewRowEventArgs.cs
- EntityAdapter.cs
- BindableTemplateBuilder.cs
- DataGridViewTopRowAccessibleObject.cs
- CursorEditor.cs
- entityreference_tresulttype.cs
- AspNetHostingPermission.cs
- CellParagraph.cs
- BasicViewGenerator.cs