Freigeben über


Control.CreateGraphics-Methode

Erstellt die Graphics für das Steuerelement.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in system.windows.forms.dll)

Syntax

'Declaration
Public Function CreateGraphics As Graphics
'Usage
Dim instance As Control
Dim returnValue As Graphics

returnValue = instance.CreateGraphics
public Graphics CreateGraphics ()
public:
Graphics^ CreateGraphics ()
public Graphics CreateGraphics ()
public function CreateGraphics () : Graphics

Rückgabewert

Die Graphics für dieses Steuerelement.

Hinweise

Die zurückgegebene Graphics muss durch einen Aufruf der entsprechenden Dispose-Methode freigegeben werden, wenn sie nicht mehr benötigt wird. Die Graphics ist nur für die Dauer der Meldung im aktuellen Fenster gültig.

Hinweis

Abgesehen von der InvokeRequired-Eigenschaft können vier Methoden in einem Steuerelement threadsicher aufgerufen werden: Invoke, BeginInvoke, EndInvoke und CreateGraphics. Verwenden Sie bei allen anderen Methodenaufrufen eine der Aufrufmethoden für das Marshallen des Aufrufs an den Steuerelementthread.

Beispiel

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 Sub AutoSizeControl(control As Control, textPadding As Integer)
   ' Create a Graphics object for the Control.
   Dim g As Graphics = control.CreateGraphics()
   
   ' Get the Size needed to accommodate the formatted Text.
   Dim preferredSize As Size = 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()
End Sub
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();
}
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.
      System::Drawing::Size preferredSize = g->MeasureString( control->Text, control->Font ).ToSize();
      
      // Pad the text and resize the control.
      control->ClientSize = System::Drawing::Size( preferredSize.Width + (textPadding * 2), preferredSize.Height + (textPadding * 2) );
      
      // Clean up the Graphics object.
      delete g;
   }
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.get_Text(), control.
        get_Font()).ToSize();
    // Pad the text and resize the control.
    control.set_ClientSize(new Size(preferredSize.get_Width() 
        + textPadding * 2, preferredSize.get_Height() + textPadding * 2));
    // Clean up the Graphics object.
    g.Dispose();
} //AutoSizeControl

.NET Framework-Sicherheit

Plattformen

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile für Pocket PC, Windows Mobile für Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

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

Versionsinformationen

.NET Framework

Unterstützt in: 2.0, 1.1, 1.0

.NET Compact Framework

Unterstützt in: 2.0, 1.0

Siehe auch

Referenz

Control-Klasse
Control-Member
System.Windows.Forms-Namespace
Graphics