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
- MonthChangedEventArgs.cs
- LabelLiteral.cs
- ConfigurationException.cs
- ValidationHelper.cs
- Function.cs
- peernodestatemanager.cs
- URLMembershipCondition.cs
- XmlNamespaceManager.cs
- SapiRecoContext.cs
- ImageMapEventArgs.cs
- Matrix.cs
- SignedInfo.cs
- Currency.cs
- PersonalizationProviderHelper.cs
- SByte.cs
- initElementDictionary.cs
- SiteMapHierarchicalDataSourceView.cs
- VirtualPathUtility.cs
- Switch.cs
- ExpressionTable.cs
- RuntimeConfig.cs
- XmlIlVisitor.cs
- GridView.cs
- VersionedStream.cs
- AuthenticationSection.cs
- BCLDebug.cs
- JumpList.cs
- updateconfighost.cs
- DefaultAutoFieldGenerator.cs
- HttpDebugHandler.cs
- CharUnicodeInfo.cs
- ToolStripRenderEventArgs.cs
- ComboBoxRenderer.cs
- LinqDataView.cs
- SplitterCancelEvent.cs
- RegexCaptureCollection.cs
- AnnotationHelper.cs
- SQLBinary.cs
- FileReader.cs
- SiblingIterators.cs
- serverconfig.cs
- FamilyMapCollection.cs
- VScrollBar.cs
- DefaultBinder.cs
- PipeSecurity.cs
- GridEntryCollection.cs
- NetPeerTcpBindingElement.cs
- TypeSource.cs
- MergeFailedEvent.cs
- GridViewDesigner.cs
- ValidatedControlConverter.cs
- MetadataArtifactLoaderCompositeResource.cs
- PtsHelper.cs
- TabControl.cs
- RootBrowserWindowProxy.cs
- TransactionProtocolConverter.cs
- PkcsMisc.cs
- Select.cs
- TextSelectionProcessor.cs
- CompareValidator.cs
- objectresult_tresulttype.cs
- HostedElements.cs
- IconBitmapDecoder.cs
- NamespaceDecl.cs
- ChangesetResponse.cs
- FixedSOMLineRanges.cs
- TextDecoration.cs
- SchemaTableColumn.cs
- IListConverters.cs
- SQLRoleProvider.cs
- DynamicILGenerator.cs
- WebPartDescription.cs
- RepeaterItem.cs
- DataGridAddNewRow.cs
- BasicKeyConstraint.cs
- IPAddress.cs
- PolicyUtility.cs
- RegexWorker.cs
- DragEventArgs.cs
- UriExt.cs
- PropertyFilter.cs
- FixedSOMPageElement.cs
- WebBrowserSiteBase.cs
- ByteStreamGeometryContext.cs
- hresults.cs
- OciLobLocator.cs
- AssemblyAttributes.cs
- GridViewSortEventArgs.cs
- InternalControlCollection.cs
- SubclassTypeValidatorAttribute.cs
- safemediahandle.cs
- DragEventArgs.cs
- Connector.cs
- SqlDataSourceCommandEventArgs.cs
- CompositeFontParser.cs
- Rect3D.cs
- Matrix3DValueSerializer.cs
- FilteredAttributeCollection.cs
- LexicalChunk.cs
- CatalogPartCollection.cs