Code:
/ Dotnetfx_Win7_3.5.1 / Dotnetfx_Win7_3.5.1 / 3.5.1 / DEVDIV / depot / DevDiv / releases / Orcas / NetFXw7 / 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
- CapabilitiesSection.cs
- EnumValAlphaComparer.cs
- ProcessInfo.cs
- LaxModeSecurityHeaderElementInferenceEngine.cs
- InstanceLockTracking.cs
- QuaternionAnimation.cs
- Attributes.cs
- ListBoxAutomationPeer.cs
- FrameworkRichTextComposition.cs
- SynchronizedPool.cs
- AssemblyBuilder.cs
- SmiRecordBuffer.cs
- KerberosSecurityTokenAuthenticator.cs
- DataErrorValidationRule.cs
- Funcletizer.cs
- PatternMatcher.cs
- ModelChangedEventArgsImpl.cs
- WSFederationHttpSecurityElement.cs
- WindowsSecurityToken.cs
- WebBaseEventKeyComparer.cs
- MachineKeySection.cs
- ArraySubsetEnumerator.cs
- TableDetailsCollection.cs
- FilterQuery.cs
- TableLayoutCellPaintEventArgs.cs
- PageHandlerFactory.cs
- OleCmdHelper.cs
- TokenizerHelper.cs
- NavigationProperty.cs
- ToolboxComponentsCreatedEventArgs.cs
- TableRowCollection.cs
- XmlSchemaImporter.cs
- BooleanToVisibilityConverter.cs
- AssociatedControlConverter.cs
- _LocalDataStore.cs
- WebBrowserEvent.cs
- WebHttpDispatchOperationSelector.cs
- MethodToken.cs
- StringFunctions.cs
- TaskCanceledException.cs
- ByteStack.cs
- ChangePassword.cs
- DataSourceXmlAttributeAttribute.cs
- SecurityException.cs
- XPathEmptyIterator.cs
- FontFamily.cs
- Native.cs
- GridItemPatternIdentifiers.cs
- ImpersonationContext.cs
- DataStorage.cs
- CfgParser.cs
- GeneralTransformCollection.cs
- SoapMessage.cs
- FrameSecurityDescriptor.cs
- WebBrowserUriTypeConverter.cs
- TreeNodeCollectionEditor.cs
- DesignerLinkAdapter.cs
- LocalFileSettingsProvider.cs
- RegexCompiler.cs
- TypeResolvingOptions.cs
- HiddenFieldPageStatePersister.cs
- XmlNamespaceManager.cs
- AtomServiceDocumentSerializer.cs
- FocusChangedEventArgs.cs
- ObjectStateEntryDbDataRecord.cs
- RawStylusInputReport.cs
- FatalException.cs
- PointKeyFrameCollection.cs
- CallbackHandler.cs
- ToolStripItemEventArgs.cs
- _UriSyntax.cs
- ComplexTypeEmitter.cs
- IdentityModelStringsVersion1.cs
- VisualStyleInformation.cs
- DataKeyCollection.cs
- InfoCardTrace.cs
- ContentPosition.cs
- QueuePathDialog.cs
- HashCodeCombiner.cs
- LookupNode.cs
- _AutoWebProxyScriptEngine.cs
- SortAction.cs
- DataServiceExpressionVisitor.cs
- TableColumn.cs
- DetectEofStream.cs
- QilStrConcat.cs
- Converter.cs
- PKCS1MaskGenerationMethod.cs
- PrincipalPermission.cs
- EarlyBoundInfo.cs
- Misc.cs
- Animatable.cs
- EffectiveValueEntry.cs
- RijndaelManagedTransform.cs
- LookupBindingPropertiesAttribute.cs
- SqlDataSourceView.cs
- CachedBitmap.cs
- DatagridviewDisplayedBandsData.cs
- WebUtil.cs
- Visitor.cs