ShapeContainer (Clase)
Actualización: noviembre 2007
Proporciona un contenedor para los controles LineShape, OvalShape, RectangleShape y para cualquier otro control que se derive de Shape.
Espacio de nombres: Microsoft.VisualBasic.PowerPacks
Ensamblado: Microsoft.VisualBasic.PowerPacks.Vs (en Microsoft.VisualBasic.PowerPacks.Vs.dll)
Sintaxis
<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
Comentarios
Únicamente puede haber un control LineShape, OvalShape o RectangleShape en un objeto ShapeContainer, que actúa como un lienzo para los controles de líneas y formas.
Al agregar una línea o una forma en tiempo de diseño a un formulario o contenedor, se crea automáticamente un ShapeContainer si no existía ya. La propiedad Parent de la línea o la forma se establece en ese ShapeContainer. La propiedad Parent de ShapeContainer se establece en el control de formulario o contenedor al que se agregó la línea o la forma.
Al crear una línea o una forma en tiempo de ejecución mediante el método New, la propiedad Parent del control debe estar establecida en ShapeContainer. Si ya existe un objeto ShapeContainer para el formulario o contenedor, debe establecer el valor de la propiedad Parent en ese objeto ShapeContainer. Si no existe ningún objeto ShapeContainer, puede crear un objeto ShapeContainer mediante el método New y establecer el valor de su propiedad Parent en el formulario o contenedor.
Nota: |
---|
Tenga cuidado de no crear más de un ShapeContainer para cada formulario o contenedor; si lo hiciera, se podría presentar un comportamiento inesperado. Si agrega un control de línea o de forma en tiempo de diseño a un formulario o contenedor después de escribir el código para crearlo mediante programación, debe modificar ese código para que utilice el ShapeContainer creado por el diseñador. |
Ejemplos
En el ejemplo siguiente se comprueba si hay un ShapeContainer existente y se establece la propiedad Parent de un control OvalShape creado en tiempo de ejecución mediante el método 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);
}
Jerarquía de herencia
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
Seguridad para subprocesos
Todos los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para la ejecución de subprocesos. No se garantiza que los miembros de instancias sean seguros para la ejecución de subprocesos.
Vea también
Referencia
Microsoft.VisualBasic.PowerPacks (Espacio de nombres)
Otros recursos
Introducción a los controles de líneas y formas (Visual Studio)
Cómo: Dibujar líneas con el control LineShape (Visual Studio)
Cómo: Dibujar formas con los controles OvalShape y RectangleShape (Visual Studio)