Code:
/ 4.0 / 4.0 / untmp / DEVDIV_TFS / Dev10 / Releases / RTMRel / wpf / src / Framework / System / Windows / WindowCollection.cs / 1305600 / 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.
Link Menu
This book is available now!
Buy at Amazon US or
Buy at Amazon UK
- cache.cs
- _BasicClient.cs
- ReaderWriterLockWrapper.cs
- XamlStyleSerializer.cs
- LicenseException.cs
- MessageQueueConverter.cs
- documentation.cs
- DependsOnAttribute.cs
- QuaternionIndependentAnimationStorage.cs
- RestHandlerFactory.cs
- AdornerLayer.cs
- GroupQuery.cs
- StyleModeStack.cs
- ClientCultureInfo.cs
- GeneratedCodeAttribute.cs
- SemaphoreSecurity.cs
- TypeListConverter.cs
- References.cs
- StylusPoint.cs
- ComponentResourceKey.cs
- RegularExpressionValidator.cs
- SiteMapNodeCollection.cs
- OptimalBreakSession.cs
- CompilationLock.cs
- Imaging.cs
- MasterPageCodeDomTreeGenerator.cs
- CodeAssignStatement.cs
- SettingsBase.cs
- RootProfilePropertySettingsCollection.cs
- MouseEvent.cs
- ToolStripInSituService.cs
- regiisutil.cs
- MethodCallConverter.cs
- ChannelServices.cs
- CapabilitiesRule.cs
- SoapTypeAttribute.cs
- IISUnsafeMethods.cs
- WebPartConnectionsCancelVerb.cs
- ConfigurationLocationCollection.cs
- PolyBezierSegmentFigureLogic.cs
- RecipientInfo.cs
- FixedFlowMap.cs
- ToolboxItem.cs
- RoleManagerSection.cs
- SrgsText.cs
- DrawingGroup.cs
- WindowsListViewSubItem.cs
- ButtonFlatAdapter.cs
- DrawingCollection.cs
- HttpModuleActionCollection.cs
- TraceXPathNavigator.cs
- RadioButtonFlatAdapter.cs
- SocketException.cs
- TouchFrameEventArgs.cs
- InvokeMemberBinder.cs
- InfocardChannelParameter.cs
- RuntimeHelpers.cs
- Token.cs
- Rfc4050KeyFormatter.cs
- CSharpCodeProvider.cs
- MultipartContentParser.cs
- ConfigXmlText.cs
- XPathNode.cs
- IOThreadTimer.cs
- ObjectFullSpanRewriter.cs
- InvokeWebServiceDesigner.cs
- PauseStoryboard.cs
- StrongNameHelpers.cs
- FormViewUpdatedEventArgs.cs
- ListView.cs
- PersianCalendar.cs
- ServiceReflector.cs
- CompiledQuery.cs
- _Connection.cs
- MachineSettingsSection.cs
- RelatedCurrencyManager.cs
- EntityDataSourceWrapperCollection.cs
- EncoderParameter.cs
- StringWriter.cs
- MessagePropertyFilter.cs
- DataGridViewRowsAddedEventArgs.cs
- StringArrayConverter.cs
- ResourceExpressionBuilder.cs
- TreeNodeBindingDepthConverter.cs
- XmlWrappingReader.cs
- PageAsyncTask.cs
- XmlSchemaDatatype.cs
- InteropBitmapSource.cs
- Mappings.cs
- TdsParserStaticMethods.cs
- SwitchElementsCollection.cs
- ByteAnimationBase.cs
- Helper.cs
- CodeTypeParameterCollection.cs
- XPathNode.cs
- Label.cs
- DesignerLoader.cs
- Int32CollectionConverter.cs
- PeerPresenceInfo.cs
- FullTextBreakpoint.cs