Code:
/ DotNET / DotNET / 8.0 / untmp / WIN_WINDOWS / lh_tools_devdiv_wpf / Windows / wcp / 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: [....] 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
- DesignerView.xaml.cs
- Model3DGroup.cs
- UpdateManifestForBrowserApplication.cs
- IdnMapping.cs
- MemoryPressure.cs
- BoundsDrawingContextWalker.cs
- UserControl.cs
- ContainerParagraph.cs
- DataTableCollection.cs
- TokenCreationParameter.cs
- SourceFilter.cs
- TypeDescriptorContext.cs
- HyperLinkColumn.cs
- Graph.cs
- GroupBoxAutomationPeer.cs
- ZipIOZip64EndOfCentralDirectoryLocatorBlock.cs
- EncodedStreamFactory.cs
- SessionPageStateSection.cs
- ConstrainedGroup.cs
- KnownTypesProvider.cs
- SQLDecimalStorage.cs
- ApplyImportsAction.cs
- HMACRIPEMD160.cs
- EditorServiceContext.cs
- WorkflowExecutor.cs
- _AutoWebProxyScriptWrapper.cs
- oledbmetadatacolumnnames.cs
- WindowsGraphicsWrapper.cs
- SegmentInfo.cs
- CalendarDay.cs
- CLRBindingWorker.cs
- InputScopeManager.cs
- HTMLTagNameToTypeMapper.cs
- PersonalizationAdministration.cs
- FeatureManager.cs
- SmiContextFactory.cs
- SingleAnimation.cs
- LowerCaseStringConverter.cs
- TextBoxBaseDesigner.cs
- _ConnectStream.cs
- UrlMapping.cs
- ListBase.cs
- SocketAddress.cs
- PasswordBox.cs
- ZipFileInfo.cs
- Color.cs
- DataListCommandEventArgs.cs
- TypeContext.cs
- SqlBuilder.cs
- ToolTipService.cs
- CodeDomComponentSerializationService.cs
- PersonalizableTypeEntry.cs
- VectorCollection.cs
- DataErrorValidationRule.cs
- UTF32Encoding.cs
- SourceLineInfo.cs
- LinkUtilities.cs
- SqlDataSourceCache.cs
- CodeStatementCollection.cs
- HtmlTable.cs
- SortedDictionary.cs
- ConnectionStringsExpressionBuilder.cs
- XmlSerializerNamespaces.cs
- EditorPart.cs
- ApplicationServiceManager.cs
- VirtualPath.cs
- FontStretch.cs
- HyperLinkStyle.cs
- CommandDesigner.cs
- SqlDataSourceFilteringEventArgs.cs
- SmtpAuthenticationManager.cs
- _TimerThread.cs
- EmptyArray.cs
- VarInfo.cs
- SafeLocalMemHandle.cs
- ToolStripPanelRow.cs
- SiteMapNode.cs
- BinaryParser.cs
- ProtectedProviderSettings.cs
- InplaceBitmapMetadataWriter.cs
- DbDataSourceEnumerator.cs
- Assert.cs
- ErrorFormatter.cs
- SystemParameters.cs
- RegexParser.cs
- DuplexClientBase.cs
- SwitchLevelAttribute.cs
- Margins.cs
- SafeRightsManagementQueryHandle.cs
- SetIterators.cs
- EditableTreeList.cs
- Compiler.cs
- SqlConnectionHelper.cs
- HelpEvent.cs
- DataSvcMapFile.cs
- MailFileEditor.cs
- DataSourceDesigner.cs
- ObjectDataSourceView.cs
- DoubleKeyFrameCollection.cs
- DataControlFieldCell.cs