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
- DerivedKeySecurityToken.cs
- TraceSection.cs
- GraphicsPathIterator.cs
- Attributes.cs
- DataPagerFieldItem.cs
- WebHttpDispatchOperationSelector.cs
- CodeMethodReturnStatement.cs
- DataBinding.cs
- TextUtf8RawTextWriter.cs
- ControlPropertyNameConverter.cs
- ProjectionCamera.cs
- BinaryWriter.cs
- Sql8ExpressionRewriter.cs
- Converter.cs
- PolyQuadraticBezierSegment.cs
- ListenerAdapterBase.cs
- TableLayoutSettingsTypeConverter.cs
- ProtocolsConfigurationHandler.cs
- ByteBufferPool.cs
- SettingsPropertyNotFoundException.cs
- DataObjectFieldAttribute.cs
- _HeaderInfo.cs
- XmlIncludeAttribute.cs
- DrawingBrush.cs
- ProfileParameter.cs
- AttachInfo.cs
- VisualBrush.cs
- PowerStatus.cs
- EmptyImpersonationContext.cs
- ItemContainerGenerator.cs
- ServiceManager.cs
- SystemDiagnosticsSection.cs
- WithParamAction.cs
- MSHTMLHost.cs
- JsonSerializer.cs
- CaseInsensitiveOrdinalStringComparer.cs
- ContextMenuStrip.cs
- dataobject.cs
- CustomErrorCollection.cs
- DriveNotFoundException.cs
- NumericUpDownAccelerationCollection.cs
- HtmlHistory.cs
- BinaryParser.cs
- DataMisalignedException.cs
- EventProxy.cs
- AdPostCacheSubstitution.cs
- GridItemCollection.cs
- OpenTypeCommon.cs
- ByteConverter.cs
- URL.cs
- ListViewHitTestInfo.cs
- OleDbDataReader.cs
- SspiHelper.cs
- PrintEvent.cs
- EntityDataReader.cs
- ManagementBaseObject.cs
- OrderPreservingPipeliningSpoolingTask.cs
- UnsignedPublishLicense.cs
- EarlyBoundInfo.cs
- EncryptedPackageFilter.cs
- QueryContinueDragEventArgs.cs
- SettingsPropertyCollection.cs
- XPathDocument.cs
- HebrewNumber.cs
- EventData.cs
- MultitargetUtil.cs
- LongValidatorAttribute.cs
- SamlAuthorizationDecisionClaimResource.cs
- ObjectDataSourceView.cs
- VisualStateGroup.cs
- TreeViewImageKeyConverter.cs
- ResourceDescriptionAttribute.cs
- SafeCoTaskMem.cs
- QueryOutputWriterV1.cs
- ellipse.cs
- XmlSchemaSequence.cs
- LinqDataSourceDeleteEventArgs.cs
- Rotation3DAnimationBase.cs
- SpotLight.cs
- ToolStripPanelSelectionGlyph.cs
- BuildDependencySet.cs
- Decoder.cs
- Bits.cs
- TextServicesDisplayAttributePropertyRanges.cs
- VerificationAttribute.cs
- CaseStatement.cs
- HtmlUtf8RawTextWriter.cs
- Italic.cs
- SearchExpression.cs
- CodeVariableReferenceExpression.cs
- StrokeNodeData.cs
- HitTestResult.cs
- HMACRIPEMD160.cs
- SettingsPropertyValue.cs
- GACMembershipCondition.cs
- Simplifier.cs
- StreamWriter.cs
- RangeValidator.cs
- ToolStripDropDownMenu.cs
- ToolboxItem.cs