Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Mise à jour : novembre 2007
Fournit un conteneur pour les contrôles LineShape, OvalShape, RectangleShape et pour tout autre contrôle dérivé de Shape.
Espace de noms : Microsoft.VisualBasic.PowerPacks
Assembly : Microsoft.VisualBasic.PowerPacks.Vs (dans Microsoft.VisualBasic.PowerPacks.Vs.dll)
Syntaxe
<BrowsableAttribute(False)> _
Public NotInheritable Class ShapeContainer _
Inherits UserControl
Dim instance As ShapeContainer
[BrowsableAttribute(false)]
public sealed class ShapeContainer : UserControl
[BrowsableAttribute(false)]
public ref class ShapeContainer sealed : public UserControl
public final class ShapeContainer extends UserControl
Notes
Un contrôle LineShape, OvalShape ou RectangleShape peut uniquement être contenu dans un objet ShapeContainer qui sert de zone de dessin pour les contrôles Line et Shape.
Lorsque vous ajoutez une ligne ou une forme à un formulaire ou un conteneur au moment du design, un ShapeContainer est automatiquement créé s'il n'en existe pas encore. La valeur de la propriété Parent de la ligne ou de la forme est ce ShapeContainer. La valeur de la propriété Parent du ShapeContainer est le contrôle de formulaire ou conteneur auquel la ligne ou la forme a été ajoutée.
Lorsque vous créez une ligne ou une forme au moment de l'exécution à l'aide de la méthode New, vous devez définir la propriété Parent du contrôle sur un ShapeContainer. Si un ShapeContainer existe déjà pour le formulaire ou le conteneur, vous devez définir la propriété Parent sur celle de ShapeContainer. Si aucun ShapeContainer n'existe, vous pouvez créer un ShapeContainer en utilisant la méthode New et définir sa propriété Parent sur le formulaire ou le conteneur.
Remarque : |
|---|
Prenez garde de ne pas créer plusieurs ShapeContainer par formulaire ou conteneur car cela pourrait entraîner un comportement inattendu. Si vous ajoutez un contrôle Line ou Shape à un formulaire ou un conteneur au moment du design après avoir écrit un code pour en créer un par programme, vous devez modifier ce code pour utiliser le ShapeContainer créé par le concepteur. |
Exemples
L'exemple suivant vérifie si un ShapeContainer existe et définit la propriété Parent d'un contrôle OvalShape créée au moment de l'exécution à l'aide de la méthode New.
Private Sub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) Handles MyBase.Load
Dim NewOval As New OvalShape
Dim i As Integer
Dim found As Boolean
' Loop through the Controls collection.
For i = 0 To Me.Controls.Count - 1
' If a ShapeContainer is found, make it the parent.
If TypeOf Controls.Item(i) Is ShapeContainer Then
NewOval.Parent = Controls.Item(i)
found = True
Exit For
End If
Next
' If no ShapeContainer is found, create one and set the parents.
If found = False Then
Dim sc As New ShapeContainer
sc.Parent = Me
NewOval.Parent = sc
End If
NewOval.Size = New Size(200, 300)
End Sub
private void form1_Load(System.Object sender, System.EventArgs e)
{
OvalShape NewOval = new OvalShape();
int i;
bool found = false;
// Loop through the Controls collection.
for (i = 0; i < this.Controls.Count; i++)
{
// If a ShapeContainer is found, make it the parent.
if (this.Controls[i] is ShapeContainer)
{
NewOval.Parent = ((ShapeContainer)this.Controls[i]);
found = true;
break;
}
}
// If no ShapeContainer is found, create one and set the parents.
if (found == false)
{
ShapeContainer sc = new ShapeContainer();
sc.Parent = this;
NewOval.Parent = sc;
}
NewOval.Size = new Size(200, 300);
}
Hiérarchie d'héritage
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Windows.Forms.Control
System.Windows.Forms.ScrollableControl
System.Windows.Forms.ContainerControl
System.Windows.Forms.UserControl
Microsoft.VisualBasic.PowerPacks.ShapeContainer
Sécurité des threads
Tous les membres static (Shared en Visual Basic) publics de ce type sont thread-safe. Il n'est pas garanti que les membres d'instance soient thread-safe.
Voir aussi
Référence
Microsoft.VisualBasic.PowerPacks, espace de noms
Autres ressources
Introduction aux contrôles Line et Shape (Visual Studio)
Comment : dessiner des lignes avec le contrôle LineShape (Visual Studio)
Comment : dessiner des formes avec les contrôles OvalShape et RectangleShape (Visual Studio)
Remarque :