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
- Imaging.cs
- TransformerTypeCollection.cs
- WebPartEventArgs.cs
- ItemTypeToolStripMenuItem.cs
- ValidationRule.cs
- Line.cs
- FieldToken.cs
- RegexGroup.cs
- TokenDescriptor.cs
- TypeConvertions.cs
- DesignerAdapterUtil.cs
- oledbconnectionstring.cs
- SystemUnicastIPAddressInformation.cs
- EntityDesignerUtils.cs
- ByteAnimationUsingKeyFrames.cs
- FixedSOMTextRun.cs
- SQLGuidStorage.cs
- URL.cs
- OracleSqlParser.cs
- DecodeHelper.cs
- ByteStreamMessageEncoder.cs
- CustomCategoryAttribute.cs
- RightNameExpirationInfoPair.cs
- ToolStripContextMenu.cs
- ImageAutomationPeer.cs
- OneToOneMappingSerializer.cs
- IndicFontClient.cs
- WeakEventTable.cs
- CopyNodeSetAction.cs
- SchemaCompiler.cs
- IndexExpression.cs
- MinMaxParagraphWidth.cs
- ExpressionBuilder.cs
- WmlMobileTextWriter.cs
- SiteMap.cs
- CssClassPropertyAttribute.cs
- DispatcherExceptionEventArgs.cs
- TouchesCapturedWithinProperty.cs
- DocumentXPathNavigator.cs
- PlanCompiler.cs
- ReferencedCategoriesDocument.cs
- MatrixIndependentAnimationStorage.cs
- ControlPaint.cs
- JoinElimination.cs
- webclient.cs
- PropertyDescriptorComparer.cs
- AffineTransform3D.cs
- ExceptionList.cs
- EntityDataSourceColumn.cs
- TreeViewItem.cs
- OleDbConnectionFactory.cs
- RemoteWebConfigurationHost.cs
- UrlMappingCollection.cs
- XslAst.cs
- HttpRequestWrapper.cs
- Substitution.cs
- MediaTimeline.cs
- HttpDictionary.cs
- SoapExtensionReflector.cs
- StorageRoot.cs
- DBProviderConfigurationHandler.cs
- StructuredTypeEmitter.cs
- XmlTextReaderImplHelpers.cs
- WebServiceTypeData.cs
- ToolboxItemFilterAttribute.cs
- WebPartZone.cs
- ObjectResult.cs
- QilVisitor.cs
- Point4D.cs
- OfTypeExpression.cs
- Graphics.cs
- RelationshipEndMember.cs
- FieldBuilder.cs
- ListViewCommandEventArgs.cs
- FileSystemWatcher.cs
- BaseTemplateCodeDomTreeGenerator.cs
- RSAPKCS1KeyExchangeDeformatter.cs
- ContentFileHelper.cs
- OpacityConverter.cs
- UrlMappingsSection.cs
- DataBindingCollection.cs
- ZipIOEndOfCentralDirectoryBlock.cs
- CustomTypeDescriptor.cs
- PauseStoryboard.cs
- OuterGlowBitmapEffect.cs
- StructureChangedEventArgs.cs
- BindingCompleteEventArgs.cs
- ConfigViewGenerator.cs
- BuildManager.cs
- ScrollItemProviderWrapper.cs
- AnnotationHelper.cs
- TextEditorSelection.cs
- Win32SafeHandles.cs
- COM2PropertyPageUITypeConverter.cs
- TickBar.cs
- TextDecorationCollection.cs
- XmlUtil.cs
- BoundConstants.cs
- Win32SafeHandles.cs
- ScaleTransform3D.cs