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