Condividi tramite


Classe ShapeCollection

Rappresenta una raccolta di oggetti Shape.

Gerarchia di ereditarietà

Object
  Microsoft.VisualBasic.PowerPacks.ShapeCollection

Spazio dei nomi:  Microsoft.VisualBasic.PowerPacks
Assembly:  Microsoft.VisualBasic.PowerPacks.Vs (in Microsoft.VisualBasic.PowerPacks.Vs.dll)

Sintassi

'Dichiarazione
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

Il tipo ShapeCollection espone i seguenti membri.

Costruttori

  Nome Descrizione
Metodo pubblico ShapeCollection Inizializza una nuova istanza della classe ShapeCollection.

In alto

Proprietà

  Nome Descrizione
Proprietà pubblica Count Ottiene il numero di forme nella raccolta.
Proprietà pubblica IsReadOnly Ottiene un valore che indica se una raccolta è di sola lettura.
Proprietà pubblica Item Ottiene Shape nella posizione indicizzata specificata della raccolta.
Proprietà pubblica Owner Ottiene ShapeContainer che possiede ShapeCollection.

In alto

Metodi

  Nome Descrizione
Metodo pubblico Add Aggiunge l'oggetto Shape specificato all'insieme ShapeCollection.
Metodo pubblico AddRange Aggiunge una matrice di oggetti Shape all'oggetto ShapeCollection.
Metodo pubblico Clear Rimuove tutte le forme dalla raccolta.
Metodo pubblico Contains Determina se l'elemento specificato Shape è un membro della raccolta.
Metodo pubblico ContainsKey Determina se l'oggetto ShapeCollection contiene un elemento con la chiave specificata.
Metodo pubblico CopyTo Copia l'intero ShapeCollection in un oggetto Array compatibile unidimensionale, a partire dall'indice specificato della matrice di destinazione.
Metodo pubblico Dispose Consente di liberare le risorse non gestite utilizzate dalla classe ShapeCollection.
Metodo pubblico Equals Determina se l'oggetto specificato è uguale all'oggetto corrente. (Ereditato da Object)
Metodo pubblico GetChildIndex(Shape) Recupera l'indice di Shape in ShapeCollection.
Metodo pubblico GetChildIndex(Shape, Boolean) Recupera l'indice dell'oggetto Shape specificato nell'oggetto ShapeCollection e facoltativamente genera un'eccezione se l'oggetto Shape specificato non si trova in ShapeCollection.
Metodo pubblico GetEnumerator Recupera un riferimento a un oggetto enumeratore utilizzato per scorrere un oggetto ShapeCollection.
Metodo pubblico GetHashCode Funge da funzione hash predefinita. (Ereditato da Object)
Metodo pubblico GetType Ottiene l'oggetto Type dell'istanza corrente. (Ereditato da Object)
Metodo pubblico IndexOf Recupera l'indice di Shape in ShapeCollection.
Metodo pubblico IndexOfKey Recupera l'indice della prima occorrenza dell'elemento specificato nella raccolta.
Metodo pubblico Remove Rimuove l'oggetto Shape specificato dall'oggetto ShapeCollection.
Metodo pubblico RemoveAt Rimuove un oggetto Shape da ShapeCollection in corrispondenza della posizione indicizzata specificata.
Metodo pubblico SetChildIndex Imposta l'indice dell'oggetto Shape specificato nella raccolta ShapeCollection sul valore di indice specificato.
Metodo pubblico ToString Restituisce una stringa che rappresenta l'oggetto corrente. (Ereditato da Object)

In alto

Implementazioni esplicite dell'interfaccia

  Nome Descrizione
Implementazione esplicita dell'interfacciaMetodo privato IList.Add
Implementazione esplicita dell'interfacciaMetodo privato IList.Contains
Implementazione esplicita dell'interfacciaMetodo privato ICollection.CopyTo
Implementazione esplicita dell'interfacciaMetodo privato IList.IndexOf
Implementazione esplicita dell'interfacciaMetodo privato IList.Insert
Implementazione esplicita dell'interfacciaProprietà privata IList.IsFixedSize
Implementazione esplicita dell'interfacciaProprietà privata ICollection.IsSynchronized
Implementazione esplicita dell'interfacciaMetodo privato IList.Remove
Implementazione esplicita dell'interfacciaProprietà privata ICollection.SyncRoot

In alto

Note

Add, Remove e i metodi di RemoveAt consentono di aggiungere e rimuovere le forme utente dalla raccolta. È inoltre possibile utilizzare il metodo di Clear o di AddRange per aggiungere o rimuovere tutte le forme dalla raccolta.

È possibile determinare se Shape è un membro della raccolta passando la forma nel metodo di Contains. Per ottenere il valore di indice della posizione di una forma della raccolta, passare la forma nel metodo di IndexOf. È possibile copiare la raccolta in una matrice chiamando il metodo CopyTo.

Esempi

Nell'esempio di codice Shape rimuove da ShapeCollection di un form se è un membro della raccolta. Si presuppone che l'utente abbia LineShape, OvalShape e un controllo di RectangleShape in un form. Quando una forma viene selezionato, verrà rimossa da ShapeCollection a meno che non sia l'ultima forma nella raccolta.

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);
        }
    }
}

Codice thread safe

Qualsiasi membro static (Shared in Visual Basic) pubblico di questo tipo è thread-safe. I membri di istanza non sono garantiti come thread-safe.

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.VisualBasic.PowerPacks

Altre risorse

Introduzione ai controlli Line e Shape (Visual Studio)

Procedura: disegnare linee con il controllo LineShape (Visual Studio)

Procedura: disegnare forme con i controlli OvalShape e RectangleShape (Visual Studio)