Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original
Dieser Artikel wurde noch nicht bewertet - Dieses Thema bewerten.

Graphics.BeginContainer-Methode

Speichert einen Grafikcontainer mit dem aktuellen Zustand dieses Graphics und öffnet und verwendet einen neuen Grafikcontainer.

Namespace:  System.Drawing
Assembly:  System.Drawing (in System.Drawing.dll)
public GraphicsContainer BeginContainer()

Rückgabewert

Typ: System.Drawing.Drawing2D.GraphicsContainer
Diese Methode gibt einen GraphicsContainer zurück, der den Zustand dieses Graphics zum Zeitpunkt des Methodenaufrufs darstellt.

Diese Methode können Sie mit der EndContainer-Methode verwenden, um geschachtelte Grafikcontainer zu erstellen. Grafikcontainer behalten den Grafikzustand bei, z. B. Transformation, Ausschneidebereich und Rendereigenschaften.

Bei Aufruf der BeginContainer-Methode eines Graphics wird ein Informationsblock mit dem Zustand Graphics auf einem Stapel abgelegt. Die BeginContainer-Methode gibt GraphicsContainer zurück, der den Informationsblock bezeichnet. Wenn das bezeichnende Objekt an die EndContainer-Methode übergeben wird, wird der Informationsblock vom Stapel entfernt und verwendet, um Graphics wieder in den Zustand zu versetzen, in dem es sich bei dem Aufruf der BeginContainer-Methode befunden hat.

Container können geschachtelt werden, d. h., Sie können die BeginContainer-Methode mehrmals aufrufen, bevor Sie die EndContainer-Methode aufrufen. Bei jedem Aufruf der BeginContainer-Methode wird ein Informationsblock auf dem Stapel abgelegt, und Sie erhalten ein GraphicsContainer-Objekt für den Informationsblock. Wenn Sie eines dieser Objekte an die EndContainer-Methode übergeben, wird Graphics wieder in den Zustand versetzt, in dem es sich zum Zeitpunkt des BeginContainer-Methodenaufrufs befand, der diesen bestimmten GraphicsContainer zurückgegeben hat. Der bei diesem Aufruf der BeginContainer-Methode auf dem Stapel abgelegte Informationsblock sowie alle nach diesem Aufruf der BeginContainer-Methode auf dem Stapel abgelegten Informationsblöcke werden vom Stapel entfernt.

Bei einem Aufruf der Save-Methode werden Informationsblöcke auf demselben Stapel wie bei einem Aufruf der BeginContainer-Methode abgelegt. Ebenso wie ein Aufruf der EndContainer-Methode mit einem Aufruf der BeginContainer-Methode kombiniert ist, ist ein Aufruf der Restore-Methode mit einem Aufruf der Save-Methode kombiniert.

Beim Aufruf der EndContainer-Methode werden alle Informationsblöcke vom Stapel entfernt, die nach dem entsprechenden Aufruf der BeginContainer-Methode (von der Save-Methode oder der BeginContainer-Methode) auf dem Stapel abgelegt wurden. Ebenso werden beim Aufruf der Restore-Methode alle Informationsblöcke vom Stapel entfernt, die nach dem entsprechenden Aufruf der Save-Methode (von der Save-Methode oder der BeginContainer-Methode) auf dem Stapel abgelegt wurden.

Der von der BeginContainer-Methode hergestellte Grafikzustand beinhaltet die Renderqualitäten des Standardgrafikzustands, d. h., alle Zustandsänderungen an der Renderqualität, die beim Aufruf der Methode vorhanden sind, werden auf die Standardwerte zurückgesetzt.

Das folgende Codebeispiel ist für die Verwendung mit Windows Forms vorgesehen und erfordert PaintEventArgse, wobei es sich um einen Parameter des Paint-Ereignishandlers handelt. Der Code führt die folgenden Aktionen aus:

  • Öffnet einen neuen Grafikcontainer und speichert den alten Container.

  • Verschiebt die globalen Koordinaten im Container.

  • Füllt ein rotes Rechteck (in den verschobenen Koordinaten) im neuen Container aus.

  • Schließt den neuen Container und stellt den gespeicherten Container wieder her.

  • Füllt ein grünes Rechteck (in den nicht verschobenen Koordinaten) im gespeicherten Container aus.

Das Ergebnis ist ein grünes Rechteck, unter dem sich ein rotes Rechteck derselben Größe befindet.


private void BeginContainerVoid(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);
}


.NET Framework

Unterstützt in: 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Unterstützt in: 4, 3.5 SP1

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core-Rolle wird nicht unterstützt), Windows Server 2008 R2 (Server Core-Rolle wird mit SP1 oder höher unterstützt; Itanium wird nicht unterstützt)

.NET Framework unterstützt nicht alle Versionen sämtlicher Plattformen. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.
Fanden Sie dies hilfreich?
(1500 verbleibende Zeichen)

Community-Beiträge

HINZUFÜGEN
Microsoft führt eine Onlineumfrage durch, um Ihre Meinung zur MSDN-Website zu erfahren. Wenn Sie sich zur Teilnahme entscheiden, wird Ihnen die Onlineumfrage angezeigt, sobald Sie die MSDN-Website verlassen.

Möchten Sie an der Umfrage teilnehmen?
© 2013 Microsoft. Alle Rechte vorbehalten.