Code:
/ Net / Net / 3.5.50727.3053 / DEVDIV / depot / DevDiv / releases / Orcas / SP / wpf / src / 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: 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. //---------------------------------------------------------------------------- // //// 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
- RowBinding.cs
- ISCIIEncoding.cs
- ToolStripCodeDomSerializer.cs
- SafeNativeMethods.cs
- ConfigXmlAttribute.cs
- FrameworkContentElementAutomationPeer.cs
- LinearGradientBrush.cs
- DataBindingHandlerAttribute.cs
- BufferedGraphicsContext.cs
- UrlMapping.cs
- DataGridViewImageColumn.cs
- SharedPersonalizationStateInfo.cs
- WindowsRichEdit.cs
- FastEncoder.cs
- BaseDataListActionList.cs
- ObjectAnimationBase.cs
- TypeExtensionConverter.cs
- ManualResetEvent.cs
- ChannelManager.cs
- ProcessThread.cs
- DetailsViewUpdatedEventArgs.cs
- CorePropertiesFilter.cs
- SchemaTypeEmitter.cs
- IdnElement.cs
- RoleGroupCollection.cs
- dataobject.cs
- TemplatePropertyEntry.cs
- RepeatButton.cs
- AssemblyCollection.cs
- StatusBarDesigner.cs
- XmlTextWriter.cs
- HwndAppCommandInputProvider.cs
- FileChangesMonitor.cs
- ZipIOCentralDirectoryFileHeader.cs
- AnnotationResource.cs
- NetSectionGroup.cs
- TagPrefixInfo.cs
- ListSortDescriptionCollection.cs
- DataServiceBehavior.cs
- ExpressionEditorAttribute.cs
- PathSegment.cs
- StateMachine.cs
- BaseResourcesBuildProvider.cs
- DataServiceKeyAttribute.cs
- Int32Rect.cs
- XmlWhitespace.cs
- VirtualDirectoryMapping.cs
- ItemCollection.cs
- storepermission.cs
- NamedObject.cs
- WindowsSlider.cs
- DependentList.cs
- LocalizedNameDescriptionPair.cs
- SafeHandles.cs
- Column.cs
- DbProviderFactory.cs
- XmlILStorageConverter.cs
- EntityCommandExecutionException.cs
- UpdateTracker.cs
- XmlSchemaSimpleContentExtension.cs
- DocumentPageViewAutomationPeer.cs
- HttpApplication.cs
- FormsAuthenticationEventArgs.cs
- ExpressionConverter.cs
- MouseBinding.cs
- EncryptedKey.cs
- AncillaryOps.cs
- Overlapped.cs
- ObjectComplexPropertyMapping.cs
- RotateTransform3D.cs
- SelectingProviderEventArgs.cs
- ErrorHandler.cs
- RegexCode.cs
- TrustVersion.cs
- COM2ExtendedBrowsingHandler.cs
- FormViewCommandEventArgs.cs
- TraceProvider.cs
- DoubleLinkList.cs
- CustomErrorCollection.cs
- OleDbFactory.cs
- wgx_sdk_version.cs
- ConstructorNeedsTagAttribute.cs
- WindowsFormsLinkLabel.cs
- ConnectionsZone.cs
- TextChangedEventArgs.cs
- SignatureGenerator.cs
- UsernameTokenFactoryCredential.cs
- DataGridViewRowDividerDoubleClickEventArgs.cs
- UserControlCodeDomTreeGenerator.cs
- HtmlInputText.cs
- WebConfigurationHost.cs
- DataSvcMapFile.cs
- BlurBitmapEffect.cs
- MediaPlayerState.cs
- SqlBulkCopy.cs
- DynamicILGenerator.cs
- Page.cs
- SqlRecordBuffer.cs
- InputLanguageSource.cs
- EncoderBestFitFallback.cs