Condividi tramite


Classe ShapeCollection

Aggiornamento: novembre 2007

Rappresenta un insieme di oggetti Shape.

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

Sintassi

Public NotInheritable Class ShapeCollection _
    Implements IList, IDisposable

Dim instance As ShapeCollection
public sealed class ShapeCollection : IList, 
    IDisposable
public ref class ShapeCollection sealed : IList, 
    IDisposable
public final class ShapeCollection implements IList, IDisposable

Note

I metodi Add, Remove e RemoveAt consentono di aggiungere e rimuovere singole forme dall'insieme. È anche possibile utilizzare il metodo AddRange o Clear per aggiungere o rimuovere tutte le forme dall'insieme.

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

Esempi

Nell'esempio di codice riportato di seguito un oggetto Shape viene rimosso dall'oggetto ShapeCollection di un form se è membro dell'insieme. Per l'esempio è necessario disporre in un form di un controllo LineShape, OvalShape e RectangleShape. Quando si fa clic su una forma, tale controllo viene rimosso da ShapeCollection, a meno che non rappresenti l'ultima forma nell'insieme.

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

Gerarchia di ereditarietà

System.Object
  Microsoft.VisualBasic.PowerPacks.ShapeCollection

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

Membri ShapeCollection

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)