Classe ShapeContainer
Fornece um contêiner para LineShape, OvalShape, RectangleShape controles e para qualquer Outros controle que deriva de Shape.
Namespace: Microsoft.VisualBasic.PowerPacks
Assembly: Microsoft.VisualBasic.PowerPacks.Vs (em Microsoft.VisualBasic.PowerPacks.Vs.dll)
Sintaxe
<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
Comentários
A LineShape, OvalShape, ou RectangleShape controle pode estar contido em apenas um ShapeContainer objeto, que atua sistema autônomo uma tela para controles de linha e forma.
Quando você adiciona uma linha ou forma a um formulário ou o contêiner em time de design, um ShapeContainer é criado automaticamente se já não existir. The Parent propriedade de linha ou forma é conjunto ao ShapeContainer. The Parent propriedade das ShapeContainer é conjunto ao controle de formulário ou contêiner ao qual a linha ou forma foi adicionada.
Quando você cria uma linha ou forma em time de execução usando o New do método, o controle Parent propriedade deve ser conjunto para um ShapeContainer. If a ShapeContainer já existe para o formulário ou contêiner, você deve conjunto o Parent propriedade para que ShapeContainer. Se nenhum ShapeContainer existe, você pode criar um ShapeContainer usando o New método e conjunto seu Parent propriedade para o formulário ou contêiner.
Observação: |
---|
Tenha cuidado Se você não fizer isso criar mais de um ShapeContainer para cada formulário ou o contêiner; isso pode apresentar um comportamento inesperado. Se você adicionar uma linha de time de design ou o controle de forma a um formulário ou contêiner depois de escrever código para criar um programaticamente, você deve modificar esse código para usar o ShapeContainer criado pelo designer. |
Exemplos
O exemplo a seguir verifica um existenteShapeContainer e define o Parent propriedade de um OvalShape controle criado em time de execução usando o New método.
PrivateSub Form1_Load(ByVal sender As System.Object, _
ByVal e As System.EventArgs) HandlesMyBase.Load
Dim NewOval AsNew OvalShape
Dim i AsIntegerDim found AsBoolean ' Loop through the Controls collection.For i = 0 ToMe.Controls.Count - 1
' If a ShapeContainer is found, make it the parent.IfTypeOf Controls.Item(i) Is ShapeContainer Then
NewOval.Parent = Controls.Item(i)
found = TrueExitForEndIfNext ' If no ShapeContainer is found, create one and set the parents.If found = FalseThenDim sc AsNew ShapeContainer
sc.Parent = Me
NewOval.Parent = sc
EndIf
NewOval.Size = New Size(200, 300)
EndSub
privatevoid 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);
}
Hierarquia de herança
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
Acesso thread-safe
Quaisquer membros static (Shared no Visual Basic) públicos deste tipo são thread-safe. Não há garantia de que qualquer membro de instância seja thread-safe.
Consulte também
Referência
Namespace Microsoft.VisualBasic.PowerPacks
Outros recursos
Introdução à linha e controles de forma (Visual Studio)
Como: Desenhar linhas com o Controlarar de LineShape (Visual Studio)
Como: Desenhar formas com a OvalShape e controles de RectangleShape (Visual Studio)