Exportieren (0) Drucken
Alle erweitern
Erweitern Minimieren
Dieser Artikel wurde maschinell übersetzt. Bewegen Sie den Mauszeiger über die Sätze im Artikel, um den Originaltext anzuzeigen. Weitere Informationen
Übersetzung
Original

Control.CreateGraphics-Methode

Erstellt das Graphics-Objekt für das Steuerelement.

Namespace:  System.Windows.Forms
Assembly:  System.Windows.Forms (in System.Windows.Forms.dll)

public Graphics CreateGraphics()

Rückgabewert

Typ: System.Drawing.Graphics
Die Graphics für dieses Steuerelement.

Das Graphics-Objekt, das Sie durch die CreateGraphics-Methode abrufen, sollte normalerweise nicht beibehalten werden, nachdem die aktuelle Windows-Meldung verarbeitet wurde, da mit diesem Objekt gezeichnete Elemente mit der nächsten WM_PAINT-Meldung gelöscht wird. Daher können Sie das Graphics-Objekt nicht zur Wiederverwendung zwischenspeichern, außer bei der Verwendung nicht visueller Methoden wie Graphics.MeasureString. Stattdessen müssen Sie jedesmal CreateGraphics aufrufen, wenn Sie das Graphics-Objekt verwenden möchten, und nach der Verwendung Dispose aufrufen. Weitere Informationen zu Windows-Meldungen finden Sie unter WndProc.

CreateGraphics ist so konzipiert, dass der Besitz auf den aufrufenden Thread festgelegt wird. Bei einem Aufruf für andere Threads tritt ein Fehler auf.

HinweisHinweis

Abgesehen von der InvokeRequired-Eigenschaft können vier Methoden in einem Steuerelement threadsicher aufgerufen werden: Invoke, BeginInvoke, EndInvoke und CreateGraphics, wenn das Handle für das Steuerelement bereits erstellt wurde. Das Aufrufen von CreateGraphics vor dem Erstellen des Handles des Steuerelements in einem Hintergrundthread kann zu unzulässigen threadübergreifenden Aufrufen führen. Verwenden Sie bei allen anderen Methodenaufrufen eine der Aufrufmethoden für das Marshallen des Aufrufs an den Steuerelementthread.

Im folgenden Codebeispiel wird die Größe des angegebenen Steuerelements so geändert, dass es den formatierten Text aufnehmen kann. Der formatierte Text ist die Text-Eigenschaft, wobei der zugewiesene Font des Steuerelements auf den Text angewendet wird. Die AutoSizeControl-Methode in diesem Beispiel verfügt auch über einen textPadding-Parameter, der den Abstand darstellt, der auf alle Kanten des Steuerelements angewendet wird. Damit der Abstand überall gleich ist, richten Sie den Text mit dem MiddleCenter-Wert von System.Drawing.ContentAlignment aus, sofern dieser vom Steuerelement unterstützt wird.


private void AutoSizeControl(Control control, int textPadding)
{
   // Create a Graphics object for the Control.
   Graphics g = control.CreateGraphics();

   // Get the Size needed to accommodate the formatted Text.
   Size preferredSize = g.MeasureString(
      control.Text, control.Font).ToSize();

   // Pad the text and resize the control.
   control.ClientSize = new Size(
      preferredSize.Width + (textPadding * 2), 
      preferredSize.Height+(textPadding * 2) );

   // Clean up the Graphics object.
   g.Dispose();
}


.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.1, Windows Server 2012 R2, 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)

Es werden nicht alle Versionen sämtlicher Plattformen von .NET Framework unterstützt.. Eine Liste der unterstützten Versionen finden Sie unter Systemanforderungen für .NET Framework.

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2015 Microsoft