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
- validationstate.cs
- DeploymentSectionCache.cs
- RuntimeArgumentHandle.cs
- MimeTypePropertyAttribute.cs
- ContentPlaceHolder.cs
- UnsafeNativeMethodsCLR.cs
- IdentityValidationException.cs
- ManualResetEvent.cs
- BrowserCapabilitiesFactoryBase.cs
- XmlQueryType.cs
- OracleString.cs
- Graphics.cs
- Internal.cs
- FontFamilyValueSerializer.cs
- MarkupCompilePass1.cs
- XmlSiteMapProvider.cs
- URLString.cs
- BlurBitmapEffect.cs
- CheckBox.cs
- TextEffect.cs
- SecurityElement.cs
- InvalidComObjectException.cs
- DetailsViewUpdateEventArgs.cs
- RayHitTestParameters.cs
- ClientScriptManagerWrapper.cs
- DockProviderWrapper.cs
- StylusPlugin.cs
- IBuiltInEvidence.cs
- HttpHeaderCollection.cs
- ReadOnlyHierarchicalDataSourceView.cs
- GeneratedCodeAttribute.cs
- Screen.cs
- X509CertificateCollection.cs
- Parser.cs
- FramingChannels.cs
- TableLayoutPanelCellPosition.cs
- BuildProviderInstallComponent.cs
- StyleModeStack.cs
- NetworkInformationPermission.cs
- CompleteWizardStep.cs
- ViewEvent.cs
- ExpressionLexer.cs
- Drawing.cs
- GridViewHeaderRowPresenter.cs
- HttpRuntime.cs
- QueryOutputWriter.cs
- DataPagerFieldItem.cs
- XmlSerializerFactory.cs
- LocalizeDesigner.cs
- InvalidWMPVersionException.cs
- UpdatePanelControlTrigger.cs
- ToolStripButton.cs
- DataGridRelationshipRow.cs
- GuidelineCollection.cs
- PageCopyCount.cs
- TdsParserStaticMethods.cs
- IPCCacheManager.cs
- PolicyManager.cs
- SQLDateTime.cs
- DefinitionUpdate.cs
- SID.cs
- AvTrace.cs
- Command.cs
- BitmapFrameDecode.cs
- PropertyFilter.cs
- ProtocolsConfiguration.cs
- SqlVisitor.cs
- GridViewCellAutomationPeer.cs
- TypeConverterValueSerializer.cs
- TextEditorParagraphs.cs
- Array.cs
- EarlyBoundInfo.cs
- Overlapped.cs
- ObjectTypeMapping.cs
- SHA512.cs
- BitmapEffectInputData.cs
- XmlNamespaceManager.cs
- HwndProxyElementProvider.cs
- SafeCryptoHandles.cs
- BaseServiceProvider.cs
- PrintController.cs
- FixedTextBuilder.cs
- ResourcesBuildProvider.cs
- RequestCache.cs
- ImageAttributes.cs
- KnownBoxes.cs
- BigInt.cs
- StateManagedCollection.cs
- XmlTextAttribute.cs
- WaitForChangedResult.cs
- LicenseContext.cs
- JoinElimination.cs
- AxParameterData.cs
- DataBoundLiteralControl.cs
- VolatileEnlistmentState.cs
- IndentTextWriter.cs
- ButtonAutomationPeer.cs
- ConfigurationStrings.cs
- EntityClassGenerator.cs
- CustomErrorsSection.cs