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
- XamlPoint3DCollectionSerializer.cs
- ToolStripRenderEventArgs.cs
- XpsResource.cs
- MsmqIntegrationBindingCollectionElement.cs
- InfiniteTimeSpanConverter.cs
- AffineTransform3D.cs
- RequestDescription.cs
- BlurEffect.cs
- ExpressionValueEditor.cs
- VisualBasicExpressionConverter.cs
- MimePart.cs
- DebugInfoExpression.cs
- WebBrowserSiteBase.cs
- PauseStoryboard.cs
- UrlAuthorizationModule.cs
- HttpPostedFileBase.cs
- ItemCheckedEvent.cs
- Timer.cs
- Size3D.cs
- ComponentGlyph.cs
- InternalConfigHost.cs
- WebServiceReceive.cs
- OpacityConverter.cs
- ACL.cs
- ItemContainerPattern.cs
- DbConnectionPoolOptions.cs
- ObjectAnimationUsingKeyFrames.cs
- AppSettingsSection.cs
- PreviewPrintController.cs
- ObjectAssociationEndMapping.cs
- HttpCapabilitiesBase.cs
- NetworkAddressChange.cs
- WsatExtendedInformation.cs
- PrintPageEvent.cs
- CompiledRegexRunner.cs
- HttpPostedFile.cs
- Char.cs
- DeviceSpecificDialogCachedState.cs
- FeatureManager.cs
- Triplet.cs
- FilterQueryOptionExpression.cs
- ProxyManager.cs
- ConstNode.cs
- DocumentManager.cs
- ListControl.cs
- PlaceHolder.cs
- SliderAutomationPeer.cs
- MonitorWrapper.cs
- XPathItem.cs
- PreparingEnlistment.cs
- SmiRequestExecutor.cs
- Popup.cs
- ClientUrlResolverWrapper.cs
- StringUtil.cs
- AssertFilter.cs
- FileChangesMonitor.cs
- XamlRtfConverter.cs
- SafeHandles.cs
- BridgeDataRecord.cs
- SoapHeaderAttribute.cs
- CustomErrorCollection.cs
- ExeConfigurationFileMap.cs
- CaseStatement.cs
- SqlUserDefinedAggregateAttribute.cs
- ProxyAttribute.cs
- WindowsSysHeader.cs
- Token.cs
- BooleanAnimationBase.cs
- CngKey.cs
- MenuAutomationPeer.cs
- SuppressIldasmAttribute.cs
- HttpContextWrapper.cs
- CqlWriter.cs
- SourceFilter.cs
- HwndStylusInputProvider.cs
- TriggerAction.cs
- NavigationProperty.cs
- WebPartRestoreVerb.cs
- UnsafeNativeMethods.cs
- PenLineJoinValidation.cs
- MimeMultiPart.cs
- CmsUtils.cs
- DrawItemEvent.cs
- ObjectStateEntryDbDataRecord.cs
- Viewport3DAutomationPeer.cs
- DesignerCategoryAttribute.cs
- IndentTextWriter.cs
- IUnknownConstantAttribute.cs
- DocumentScope.cs
- SqlDataSourceConfigureFilterForm.cs
- UnsafeNativeMethodsPenimc.cs
- ContextBase.cs
- ByteAnimationUsingKeyFrames.cs
- SqlBuilder.cs
- BindingContext.cs
- DataGridViewCellStyleChangedEventArgs.cs
- CqlQuery.cs
- TextBox.cs
- VirtualPathProvider.cs
- IFlowDocumentViewer.cs