Поделиться через


ShapeCollection - класс

Представляет коллекцию объектов Shape.

Иерархия наследования

System.Object
  Microsoft.VisualBasic.PowerPacks.ShapeCollection

Пространство имен:  Microsoft.VisualBasic.PowerPacks
Сборка:  Microsoft.VisualBasic.PowerPacks.Vs (в Microsoft.VisualBasic.PowerPacks.Vs.dll)

Синтаксис

'Декларация
Public NotInheritable Class ShapeCollection _
    Implements IList, IDisposable
public sealed class ShapeCollection : IList, 
    IDisposable
public ref class ShapeCollection sealed : IList, 
    IDisposable
[<Sealed>]
type ShapeCollection =  
    class
        interface IList
        interface IDisposable
    end
public final class ShapeCollection implements IList, IDisposable

Тип ShapeCollection предоставляет следующие члены.

Конструкторы

  Имя Описание
Открытый метод ShapeCollection Инициализирует новый экземпляр класса ShapeCollection.

В начало страницы

Свойства

  Имя Описание
Открытое свойство Count Получает число фигур в коллекции.
Открытое свойство IsReadOnly Получает значение, указывающее, доступна ли коллекция только для чтения.
Открытое свойство Item Возвращает Shape по указанному индексу в коллекции.
Открытое свойство Owner Возвращает ShapeContainer то есть ShapeCollection.

В начало страницы

Методы

  Имя Описание
Открытый метод Add Добавляет заданный объект Shape в ShapeCollection.
Открытый метод AddRange Добавляет массив Shape объекты ShapeCollection.
Открытый метод Clear Удаляет все фигуры из коллекции.
Открытый метод Contains Определяет, входит ли указанный Shape член коллекции.
Открытый метод ContainsKey Определяет, содержится ли элемент с указанным ключом в коллекции ShapeCollection.
Открытый метод CopyTo Копирует целый ShapeCollection в совместимый одномерный массив Array, начиная с указанного индекса целевого массива.
Открытый метод Dispose Освобождает неуправляемые ресурсы, используемые ShapeCollection.
Открытый метод Equals Определяет, равен ли заданный объект текущему объекту. (Унаследовано от Object.)
Открытый метод GetChildIndex(Shape) Извлекает указанный индекс Shape в ShapeCollection.
Открытый метод GetChildIndex(Shape, Boolean) Извлекает указанный индекс Shape в ShapeCollectionи, при необходимости, вызывает исключение, если указанное Shape нет ShapeCollection.
Открытый метод GetEnumerator Извлекает ссылку на объект перечислителя, который используется для итерации по коллекции ShapeCollection.
Открытый метод GetHashCode Играет роль хэш-функции для определенного типа. (Унаследовано от Object.)
Открытый метод GetType Возвращает объект Type для текущего экземпляра. (Унаследовано от Object.)
Открытый метод IndexOf Извлекает указанный индекс Shape в ShapeCollection.
Открытый метод IndexOfKey Возвращает индекс первого вхождения заданного элемента в коллекции.
Открытый метод Remove Удаляет заданный объект Shape из ShapeCollection.
Открытый метод RemoveAt Удаляет a Shape от ShapeCollection по указанному индексу.
Открытый метод SetChildIndex Устанавливает индекс определен Shape в ShapeCollection значение указанного индекса.
Открытый метод ToString Возвращает строку, которая представляет текущий объект. (Унаследовано от Object.)

В начало страницы

Явные реализации интерфейса

  Имя Описание
Явная реализация интерфейсаЗакрытый метод IList.Add
Явная реализация интерфейсаЗакрытый метод IList.Contains
Явная реализация интерфейсаЗакрытый метод ICollection.CopyTo
Явная реализация интерфейсаЗакрытый метод IList.IndexOf
Явная реализация интерфейсаЗакрытый метод IList.Insert
Явная реализация интерфейсаЗакрытое свойство IList.IsFixedSize
Явная реализация интерфейсаЗакрытое свойство ICollection.IsSynchronized
Явная реализация интерфейсаЗакрытый метод IList.Remove
Явная реализация интерфейсаЗакрытое свойство ICollection.SyncRoot

В начало страницы

Заметки

Add" Removeи RemoveAt методы позволяют добавлять и удалять отдельные фигуры из коллекции.Можно также использовать AddRange OR Clear метод, чтобы добавить или удалить все фигуры из коллекции.

Можно указать, следует ли a Shape элемент коллекции, передавая в форму Contains метод.Для получения значения индекса расположения фигур в коллекции, передайте в форму IndexOf метод.Можно скопировать коллекцию в массив путем вызова CopyTo метод.

Примеры

Следующий пример кода удаляет a Shape от ShapeCollection формы, если член коллекции.В этом примере необходима a LineShape" OvalShapeи a RectangleShape элемент управления на форме.При выборе фигуры она удаляется из ShapeCollection если она не будет последней фигуры в коллекции.

Private Sub Shapes_Click(
    ByVal sender As System.Object, 
    ByVal e As System.EventArgs
  ) Handles RectangleShape1.Click, 
            OvalShape1.Click, LineShape1.Click

    ' Determine whether the shape is in the collection.
    If ShapeContainer1.Shapes.Contains(sender) Then
        ' If the Index is greater than 0, remove the shape.
        If ShapeContainer1.Shapes.IndexOf(sender) > 0 Then
            ShapeContainer1.Shapes.Remove(sender)
        End If
    End If
End Sub
private void Shapes_Click(System.Object sender, System.EventArgs e)
{
    // Determine whether the shape is in the collection.
    if (shapeContainer1.Shapes.Contains((Shape)sender))
    // If the Index is greater than 0, remove the shape.
    {
        if (shapeContainer1.Shapes.IndexOf((Shape)sender) > 0)
        {
            shapeContainer1.Shapes.Remove((Shape)sender);
        }
    }
}

Потокобезопасность

Любые открытые члены этого типа, объявленные как static (Shared в Visual Basic), являются потокобезопасными. Потокобезопасность членов экземпляров не гарантируется.

См. также

Ссылки

Microsoft.VisualBasic.PowerPacks - пространство имен

Другие ресурсы

Знакомство с элементами управления Line и Shape (Visual Studio)

Пошаговое руководство. Изображение линий при помощи элемента управления LineShape (Visual Studio)

Пошаговое руководство. Рисование фигур при помощи элементов управления OvalShape и RectangleShape (Visual Studio)