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
- FormattedText.cs
- XmlSchemaAttribute.cs
- PropertyMetadata.cs
- AttachInfo.cs
- OrderingExpression.cs
- PreparingEnlistment.cs
- Blend.cs
- VectorConverter.cs
- FocusChangedEventArgs.cs
- OpenTypeLayout.cs
- OleDbError.cs
- FormParameter.cs
- RemotingServices.cs
- DesignerDataSourceView.cs
- DesignTimeTemplateParser.cs
- EntityParameter.cs
- Size3DConverter.cs
- DeviceOverridableAttribute.cs
- DataGridViewToolTip.cs
- Font.cs
- TablePatternIdentifiers.cs
- ValuePattern.cs
- PnrpPeerResolverElement.cs
- OleDbInfoMessageEvent.cs
- RawKeyboardInputReport.cs
- HtmlInputSubmit.cs
- TextEditor.cs
- MetaModel.cs
- DataObjectEventArgs.cs
- HashSetEqualityComparer.cs
- ListComponentEditor.cs
- TextFormatterHost.cs
- InvokePatternIdentifiers.cs
- DBSqlParserColumnCollection.cs
- PersonalizationDictionary.cs
- DecimalAnimation.cs
- TemplateControlCodeDomTreeGenerator.cs
- RangeValuePatternIdentifiers.cs
- MutableAssemblyCacheEntry.cs
- RTLAwareMessageBox.cs
- Attribute.cs
- OdbcParameter.cs
- RijndaelManaged.cs
- PointCollectionConverter.cs
- ResourcesBuildProvider.cs
- ListViewDesigner.cs
- StringFormat.cs
- XamlPointCollectionSerializer.cs
- diagnosticsswitches.cs
- SoapFault.cs
- PersianCalendar.cs
- InputMethod.cs
- OrderByQueryOptionExpression.cs
- ApplicationSecurityManager.cs
- CategoryNameCollection.cs
- DefaultSection.cs
- EditCommandColumn.cs
- StopStoryboard.cs
- UpdateExpressionVisitor.cs
- XmlUnspecifiedAttribute.cs
- SqlCacheDependency.cs
- SystemNetworkInterface.cs
- OnOperation.cs
- ConstructorExpr.cs
- AdornerPresentationContext.cs
- EnumerableCollectionView.cs
- WebBrowserHelper.cs
- SoapSchemaMember.cs
- PreservationFileReader.cs
- OLEDB_Util.cs
- dsa.cs
- DataGridViewCellCancelEventArgs.cs
- LayeredChannelListener.cs
- EventHandlersStore.cs
- ConstNode.cs
- ServiceProviders.cs
- ContentValidator.cs
- Empty.cs
- UniqueIdentifierService.cs
- MapPathBasedVirtualPathProvider.cs
- StylusButtonCollection.cs
- Configuration.cs
- EventListenerClientSide.cs
- Column.cs
- ForceCopyBuildProvider.cs
- Token.cs
- AutoResetEvent.cs
- XmlValueConverter.cs
- PeerHelpers.cs
- RowType.cs
- CodeGroup.cs
- Parallel.cs
- HttpGetServerProtocol.cs
- BrowserCapabilitiesFactory.cs
- PageAsyncTaskManager.cs
- BaseProcessor.cs
- Int64AnimationBase.cs
- StatusBar.cs
- HttpModuleActionCollection.cs
- CodeRemoveEventStatement.cs