Graphics.EndContainer(GraphicsContainer) Graphics.EndContainer(GraphicsContainer) Graphics.EndContainer(GraphicsContainer) Graphics.EndContainer(GraphicsContainer) Method

Definición

Cierra el contenedor de gráficos actual y restaura el estado que tenía este Graphics al estado guardado mediante una llamada al método BeginContainer().Closes the current graphics container and restores the state of this Graphics to the state saved by a call to the BeginContainer() method.

public:
 void EndContainer(System::Drawing::Drawing2D::GraphicsContainer ^ container);
public void EndContainer (System.Drawing.Drawing2D.GraphicsContainer container);
member this.EndContainer : System.Drawing.Drawing2D.GraphicsContainer -> unit
Public Sub EndContainer (container As GraphicsContainer)

Parámetros

container
GraphicsContainer GraphicsContainer GraphicsContainer GraphicsContainer

GraphicsContainer que representa el contenedor restaurado por este método.GraphicsContainer that represents the container this method restores.

Ejemplos

El siguiente ejemplo de código está diseñado para su uso con Windows Forms y requiere PaintEventArgs e, que Paint es un parámetro del controlador de eventos.The following code example is designed for use with Windows Forms, and it requires PaintEventArgse, which is a parameter of the Paint event handler. El código realiza las siguientes acciones:The code performs the following actions:

  • Abre un nuevo contenedor de gráficos y guarda el contenedor antiguo.Opens a new graphics container and saves the old container.

  • Traduce las coordenadas universales del contenedor.Translates the world coordinates in the container.

  • Rellena un rectángulo rojo en el nuevo contenedor (coordenadas traducidas del).Fills a red rectangle in the (translated coordinates of the) new container.

  • Cierra el nuevo contenedor y restaura el contenedor guardado.Closes the new container and restores the saved container.

  • Rellena un rectángulo verde (en las coordenadas sin traducir) del contenedor guardado.Fills a green rectangle (to the untranslated coordinates) of the saved container.

El resultado es un rectángulo verde que se basa en un rectángulo rojo del mismo tamaño.The result is a green rectangle that overlies a red rectangle of the same size.

public:
   void EndContainerState( PaintEventArgs^ e )
   {
      // Begin graphics container.
      GraphicsContainer^ containerState = e->Graphics->BeginContainer();

      // Translate world transformation.
      e->Graphics->TranslateTransform( 100.0F, 100.0F );

      // Fill translated rectangle in container with red.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Red ), 0, 0, 200, 200 );

      // End graphics container.
      e->Graphics->EndContainer( containerState );

      // Fill untransformed rectangle with green.
      e->Graphics->FillRectangle( gcnew SolidBrush( Color::Green ), 0, 0, 200, 200 );
   }
public void EndContainerState(PaintEventArgs e)
{
             
    // Begin graphics container.
    GraphicsContainer containerState = e.Graphics.BeginContainer();
             
    // Translate world transformation.
    e.Graphics.TranslateTransform(100.0F, 100.0F);
             
    // Fill translated rectangle in container with red.
    e.Graphics.FillRectangle(new SolidBrush(Color.Red), 0, 0, 200, 200);
             
    // End graphics container.
    e.Graphics.EndContainer(containerState);
             
    // Fill untransformed rectangle with green.
    e.Graphics.FillRectangle(new SolidBrush(Color.Green), 0, 0, 200, 200);
}
Public Sub EndContainerState(ByVal e As PaintEventArgs)

    ' Begin graphics container.
    Dim containerState As GraphicsContainer = _
    e.Graphics.BeginContainer()

    ' Translate world transformation.
    e.Graphics.TranslateTransform(100.0F, 100.0F)

    ' Fill translated rectangle in container with red.
    e.Graphics.FillRectangle(New SolidBrush(Color.Red), 0, 0, _
    200, 200)

    ' End graphics container.
    e.Graphics.EndContainer(containerState)

    ' Fill untransformed rectangle with green.
    e.Graphics.FillRectangle(New SolidBrush(Color.Green), 0, 0, _
    200, 200)
End Sub

Comentarios

Use este método con el BeginContainer método para crear contenedores de gráficos anidados.Use this method with the BeginContainer method to create nested graphics containers. Los contenedores de gráficos conservan el estado de los gráficos, como la transformación, la región de recorte y las propiedades de representación.Graphics containers retain graphics state, such as transformation, clipping region, and rendering properties.

Cuando se llama al BeginContainer método de un Graphics, Graphics se coloca un bloque de información que contiene el estado de en una pila.When you call the BeginContainer method of a Graphics, an information block that holds the state of the Graphics is put on a stack. El BeginContainer método devuelve un GraphicsContainer que identifica ese bloque de información.The BeginContainer method returns a GraphicsContainer that identifies that information block. Al pasar el objeto de identificación al EndContainer método, el bloque de información se quita de la pila y se usa para Graphics restaurar al estado en el que se encontraba en el momento BeginContainer de la llamada al método.When you pass the identifying object to the EndContainer method, the information block is removed from the stack and is used to restore the Graphics to the state it was in at the time of the BeginContainer method call.

Los contenedores se pueden anidar; es decir, puede llamar al BeginContainer método varias veces antes de llamar al EndContainer método.Containers can be nested; that is, you can call the BeginContainer method several times before you call the EndContainer method. Cada vez que se llama BeginContainer al método, se coloca un bloque de información en la pila y se recibe GraphicsContainer un para el bloque de información.Each time you call the BeginContainer method, an information block is put on the stack, and you receive a GraphicsContainer for the information block. Cuando se pasa uno de esos objetos EndContainer al método Graphics , se devuelve al estado en el que se encontraba en el momento de BeginContainer la llamada al método que devolvió ese determinado. GraphicsContainerWhen you pass one of those objects to the EndContainer method, the Graphics is returned to the state it was in at the time of the BeginContainer method call that returned that particular GraphicsContainer. El bloque de información colocado en la pila por BeginContainer esa llamada al método se quita de la pila, y todos los bloques de información colocados en esa pila después de esa BeginContainer llamada al método también se quitan.The information block placed on the stack by that BeginContainer method call is removed from the stack, and all information blocks placed on that stack after that BeginContainer method call are also removed.

Las Save llamadas al método colocan bloques de información en la misma pila como BeginContainer llamadas al método.Calls to the Save method place information blocks on the same stack as calls to the BeginContainer method. Del mismo modo EndContainer que una llamada al método se empareja BeginContainer con una llamada al Restore método, una llamada al método se Save empareja con una llamada al método.Just as an EndContainer method call is paired with a BeginContainer method call, a Restore method call is paired with a Save method call.

Cuando se llama al EndContainer método, todos los bloques de información colocados en la Save pila (mediante el BeginContainer método o el BeginContainer método) después de que se quite de la pila la llamada correspondiente al método.When you call the EndContainer method, all information blocks placed on the stack (by the Save method or by the BeginContainer method) after the corresponding call to the BeginContainer method are removed from the stack. Del mismo modo, cuando se Restore llama al método, todos los bloques de información colocados Save en la pila ( BeginContainer mediante el método o el Save método) después de que la llamada correspondiente al método se quite de la pila.Likewise, when you call the Restore method, all information blocks placed on the stack (by the Save method or by the BeginContainer method) after the corresponding call to the Save method are removed from the stack.

Se aplica a