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
- EmptyTextWriter.cs
- CapabilitiesRule.cs
- ColumnBinding.cs
- SearchExpression.cs
- HealthMonitoringSection.cs
- ArgumentValidation.cs
- DataBoundControl.cs
- NamedPipeChannelFactory.cs
- SpeechDetectedEventArgs.cs
- SiteMapNodeItemEventArgs.cs
- DistributedTransactionPermission.cs
- WindowsListViewItemCheckBox.cs
- ThreadPool.cs
- ViewPort3D.cs
- DuplexSecurityProtocolFactory.cs
- SynchronousChannelMergeEnumerator.cs
- ProcessThread.cs
- ErrorHandler.cs
- Funcletizer.cs
- ToolStripContextMenu.cs
- WindowShowOrOpenTracker.cs
- ContentDisposition.cs
- AnnotationAuthorChangedEventArgs.cs
- FormViewDeleteEventArgs.cs
- TextRange.cs
- StateBag.cs
- TypeToken.cs
- Directory.cs
- CompiledQueryCacheEntry.cs
- WsdlInspector.cs
- DependencyObjectPropertyDescriptor.cs
- SimpleHandlerFactory.cs
- WaitHandle.cs
- SessionPageStateSection.cs
- ExpandedWrapper.cs
- TargetInvocationException.cs
- ProviderConnectionPoint.cs
- ParagraphVisual.cs
- CalloutQueueItem.cs
- CryptoProvider.cs
- ValueSerializer.cs
- KnownIds.cs
- SizeValueSerializer.cs
- EventDrivenDesigner.cs
- Style.cs
- Select.cs
- DataGridViewCellStyleConverter.cs
- MaterialCollection.cs
- ValueConversionAttribute.cs
- CanonicalFontFamilyReference.cs
- EndpointDispatcherTable.cs
- SecurityElement.cs
- XsltFunctions.cs
- TypeRefElement.cs
- SQLStringStorage.cs
- RemoteWebConfigurationHostStream.cs
- PathSegmentCollection.cs
- FixedSOMContainer.cs
- RevocationPoint.cs
- PlatformCulture.cs
- MappingException.cs
- QueryException.cs
- TextEditorDragDrop.cs
- RSAPKCS1SignatureDeformatter.cs
- DataSet.cs
- CultureInfoConverter.cs
- WebPartsSection.cs
- SocketInformation.cs
- TextTreeUndo.cs
- ObjectParameter.cs
- WebPartHeaderCloseVerb.cs
- ListViewVirtualItemsSelectionRangeChangedEvent.cs
- ProtocolsConfigurationHandler.cs
- Table.cs
- SafeRightsManagementQueryHandle.cs
- SrgsText.cs
- BooleanConverter.cs
- TitleStyle.cs
- GenericUriParser.cs
- PerformanceCounterManager.cs
- WebBrowserNavigatedEventHandler.cs
- WsatTransactionInfo.cs
- PointAnimationBase.cs
- WebPartUserCapability.cs
- Vector3D.cs
- ObjectMaterializedEventArgs.cs
- CollectionViewSource.cs
- Internal.cs
- Tablet.cs
- SimpleRecyclingCache.cs
- ContainerParaClient.cs
- CngAlgorithmGroup.cs
- AsyncMethodInvoker.cs
- PrintingPermissionAttribute.cs
- OdbcConnectionPoolProviderInfo.cs
- ImportCatalogPart.cs
- GetLastErrorDetailsRequest.cs
- RelOps.cs
- ResourceContainer.cs
- ColorConvertedBitmapExtension.cs