Code:
/ Dotnetfx_Vista_SP2 / Dotnetfx_Vista_SP2 / 8.0.50727.4016 / DEVDIV / depot / DevDiv / releases / Orcas / QFE / 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
- LinkLabel.cs
- SchemaMerger.cs
- EntityDataSourceEntitySetNameItem.cs
- TraceContextRecord.cs
- SqlConnectionStringBuilder.cs
- CharUnicodeInfo.cs
- BaseCAMarshaler.cs
- Hashtable.cs
- SqlFacetAttribute.cs
- Context.cs
- ParentQuery.cs
- CheckBoxList.cs
- DataColumnMapping.cs
- NodeFunctions.cs
- PropertyValueChangedEvent.cs
- Frame.cs
- WindowsButton.cs
- HtmlTextBoxAdapter.cs
- ItemCollection.cs
- WaitingCursor.cs
- CookielessHelper.cs
- GridViewHeaderRowPresenter.cs
- ValueTypeFixupInfo.cs
- InvalidFilterCriteriaException.cs
- DataTable.cs
- RoamingStoreFileUtility.cs
- TextOnlyOutput.cs
- EntityModelBuildProvider.cs
- CustomValidator.cs
- ProxyElement.cs
- ConnectionOrientedTransportChannelFactory.cs
- SHA256Managed.cs
- LocalValueEnumerator.cs
- SerializationEventsCache.cs
- XmlLanguage.cs
- CodeDefaultValueExpression.cs
- WebPartCloseVerb.cs
- AmbientLight.cs
- OrderedDictionary.cs
- XPathNodeInfoAtom.cs
- ListViewTableCell.cs
- RuntimeVariablesExpression.cs
- DataGridViewTextBoxCell.cs
- Task.cs
- login.cs
- CalculatedColumn.cs
- FormViewDeleteEventArgs.cs
- SqlConnectionFactory.cs
- CoTaskMemHandle.cs
- InternalsVisibleToAttribute.cs
- EnumBuilder.cs
- NumberSubstitution.cs
- ContentPathSegment.cs
- UIPropertyMetadata.cs
- securitycriticaldata.cs
- _ProxyRegBlob.cs
- HttpModulesSection.cs
- SchemaElementDecl.cs
- WaitHandleCannotBeOpenedException.cs
- HashJoinQueryOperatorEnumerator.cs
- ListViewSelectEventArgs.cs
- GroupQuery.cs
- CharacterMetrics.cs
- DataGridViewDesigner.cs
- PriorityQueue.cs
- TemplatedWizardStep.cs
- PassportAuthenticationEventArgs.cs
- DoubleSumAggregationOperator.cs
- AdvancedBindingEditor.cs
- XmlMembersMapping.cs
- ArgumentReference.cs
- CharacterBuffer.cs
- GPRECT.cs
- TimelineGroup.cs
- PaperSource.cs
- BezierSegment.cs
- FontUnitConverter.cs
- DataPagerField.cs
- RuntimeWrappedException.cs
- ColumnMapProcessor.cs
- CommentAction.cs
- Rect.cs
- MethodAccessException.cs
- LayoutUtils.cs
- WebBrowserNavigatingEventHandler.cs
- GeneralTransform3DCollection.cs
- SecurityRuntime.cs
- TypeTypeConverter.cs
- QilScopedVisitor.cs
- SqlCrossApplyToCrossJoin.cs
- GrammarBuilderDictation.cs
- NotifyInputEventArgs.cs
- CompModSwitches.cs
- OdbcParameterCollection.cs
- NegotiateStream.cs
- MemberBinding.cs
- ToolStripOverflowButton.cs
- ReaderWriterLockWrapper.cs
- TextParagraphView.cs
- EmptyControlCollection.cs