| File: System\Windows\Forms\Design\Behavior\AdornerCollection.cs | Web Access |
| Project: src\winforms\src\System.Windows.Forms.Design\src\System.Windows.Forms.Design.csproj (System.Windows.Forms.Design) |
// Licensed to the .NET Foundation under one or more agreements. // The .NET Foundation licenses this file to you under the MIT license. using System.Collections; namespace System.Windows.Forms.Design.Behavior; /// <summary> /// A collection that stores <see cref="Adorner"/> objects. /// </summary> /// <seealso cref="BehaviorServiceAdornerCollection"/> public sealed class BehaviorServiceAdornerCollection : CollectionBase { private readonly BehaviorService? _behaviorService; /// <summary> /// Initializes a new instance of <see cref="BehaviorServiceAdornerCollection"/>. /// </summary> public BehaviorServiceAdornerCollection(BehaviorService? behaviorService) { _behaviorService = behaviorService; } /// <summary> /// Initializes a new instance of <see cref="BehaviorServiceAdornerCollection"/> based on another /// <see cref="BehaviorServiceAdornerCollection"/>. /// </summary> public BehaviorServiceAdornerCollection(BehaviorServiceAdornerCollection value) { AddRange(value); } /// <summary> /// Initializes a new instance of <see cref="BehaviorServiceAdornerCollection"/> /// containing any array of <see cref="Adorner"/> objects. /// </summary> /// <param name="value"> /// A array of <see cref="Adorner"/> objects with which to initialize the collection. /// </param> public BehaviorServiceAdornerCollection(Adorner[] value) { AddRange(value); } /// <summary> /// Represents the entry at the specified index of the <see cref="Adorner"/>. /// </summary> /// <param name="index"> /// The zero-based index of the entry to locate in the collection. /// </param> /// <value> /// The entry at the specified index of the collection. /// </value> /// <exception cref="ArgumentOutOfRangeException"> /// <paramref name="index"/> is outside the valid range of indexes for the collection. /// </exception> public Adorner this[int index] { get { return ((Adorner)(List[index]!)); } set { List[index] = value; } } /// <summary> /// Adds a <see cref="Adorner"/> with the specified value to the /// <see cref="BehaviorServiceAdornerCollection"/> . /// </summary> /// <param name="value">The <see cref="Adorner"/> to add.</param> /// <returns> /// The index at which the new element was inserted. /// </returns> /// <seealso cref="AddRange(Adorner[])"/> public int Add(Adorner value) { value.BehaviorService = _behaviorService; return List.Add(value); } /// <summary> /// Copies the elements of an array to the end of the /// <see cref="BehaviorServiceAdornerCollection"/>. /// </summary> /// <param name="value"> /// An array of type <see cref="Adorner"/> containing the objects to add to the /// collection. /// </param> /// <returns> /// None. /// </returns> /// <seealso cref="Add"/> public void AddRange(params Adorner[] value) { for (int i = 0; (i < value.Length); i++) { Add(value[i]); } } /// <summary> /// Adds the contents of another /// <see cref="BehaviorServiceAdornerCollection"/> to the end of the /// collection. /// </summary> /// <param name="value"> /// A <see cref="BehaviorServiceAdornerCollection"/> containing the objects to /// add to the collection. /// </param> /// <returns> /// None. /// </returns> /// <seealso cref="Add"/> public void AddRange(BehaviorServiceAdornerCollection value) { for (int i = 0; (i < value.Count); i++) { Add(value[i]); } } /// <summary> /// Gets a value indicating whether the /// <see cref="BehaviorServiceAdornerCollection"/> contains the specified <see cref="Adorner"/>. /// </summary> /// <param name="value">The <see cref="Adorner"/> to locate.</param> /// <returns> /// <see langword="true"/> if the <see cref="Adorner"/> is contained in the collection; /// otherwise, <see langword="false"/>. /// </returns> /// <seealso cref="IndexOf"/> public bool Contains(Adorner value) { return List.Contains(value); } /// <summary> /// Copies the <see cref="BehaviorServiceAdornerCollection"/> values to a /// one-dimensional <see cref="Array"/> instance at the /// specified index. /// </summary> /// <param name="array"> /// The one-dimensional <see cref="Array"/> that is the destination of the values copied from /// <see cref="BehaviorServiceAdornerCollection"/>. /// </param> /// <param name="index">The index in <paramref name="array"/> where copying begins.</param> /// <returns> /// None. /// </returns> /// <exception cref="ArgumentException"> /// <paramref name="array"/> is multidimensional. /// -or- /// The number of elements in the /// <see cref="BehaviorServiceAdornerCollection"/> is greater than the /// available space between <paramref name="index"/> and the end of <paramref name="array"/>. /// </exception> /// <exception cref="ArgumentNullException"><paramref name="array"/> is <see langword="null"/>.</exception> /// <exception cref="ArgumentOutOfRangeException"> /// <paramref name="index"/> is less than /// <paramref name="array"/>'s low bound. /// </exception> /// <seealso cref="Array"/> public void CopyTo(Adorner[] array, int index) { List.CopyTo(array, index); } /// <summary> /// Returns the index of a <see cref="Adorner"/> in /// the <see cref="BehaviorServiceAdornerCollection"/> . /// </summary> /// <param name="value">The <see cref="Adorner"/> to locate.</param> /// <returns> /// The index of the <see cref="Adorner"/> of <paramref name="value"/> in /// the /// <see cref="BehaviorServiceAdornerCollection"/>, if found; otherwise, -1. /// </returns> /// <seealso cref="Contains"/> public int IndexOf(Adorner value) { return List.IndexOf(value); } /// <summary> /// Inserts a <see cref="Adorner"/> into the /// <see cref="BehaviorServiceAdornerCollection"/> at the specified index. /// </summary> /// <param name="index">The zero-based index where <paramref name="value"/> should be inserted.</param> /// <param name=" value">The <see cref="Adorner"/> to insert.</param> /// <returns> /// None. /// </returns> /// <seealso cref="Add"/> public void Insert(int index, Adorner value) { List.Insert(index, value); } /// <summary> /// Returns an enumerator that can iterate through /// the <see cref="BehaviorServiceAdornerCollection"/> . /// </summary> /// <returns> /// None. /// </returns> /// <seealso cref="IEnumerator"/> public new BehaviorServiceAdornerCollectionEnumerator GetEnumerator() { return new BehaviorServiceAdornerCollectionEnumerator(this); } /// <summary> /// Removes a specific <see cref="Adorner"/> from the /// <see cref="BehaviorServiceAdornerCollection"/> . /// </summary> /// <param name="value"> /// The <see cref="Adorner"/> to remove from the /// <see cref="BehaviorServiceAdornerCollection"/> . /// </param> /// <returns> /// None. /// </returns> /// <exception cref="ArgumentException"><paramref name="value"/> is not found in the Collection.</exception> public void Remove(Adorner value) { List.Remove(value); } }