Partager via


Comment : écrire du texte renvoyé à la ligne dans un rectangle

Vous pouvez dessiner du texte encapsulé dans un rectangle à l’aide de la DrawString méthode surchargée de la Graphics classe qui prend un ou RectangleF un Rectangle paramètre. Vous utiliserez également un Brush et un Font.

Vous pouvez également dessiner du texte encapsulé dans un rectangle à l’aide de la DrawText méthode surchargée de l’élément TextRenderer qui prend un Rectangle paramètre et un TextFormatFlags paramètre. Vous utiliserez également un Color et un Font.

L’illustration suivante montre la sortie du texte dessiné dans le rectangle lorsque vous utilisez la DrawString méthode :

Capture d’écran montrant la sortie lors de l’utilisation de la méthode DrawString.

Pour dessiner du texte encapsulé dans un rectangle avec GDI+

  1. Utilisez la DrawString méthode surchargée, en passant le texte souhaité, Rectangle ou RectangleF, Font et Brush.

    string text1 = "Draw text in a rectangle by passing a RectF to the DrawString method.";
    using (Font font1 = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point))
    {
        RectangleF rectF1 = new RectangleF(30, 10, 100, 122);
        e.Graphics.DrawString(text1, font1, Brushes.Blue, rectF1);
        e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rectF1));
    }
    
    Dim text1 As String = "Draw text in a rectangle by passing a RectF to the DrawString method."
    Dim font1 As New Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point)
    Try
        Dim rectF1 As New RectangleF(30, 10, 100, 122)
        e.Graphics.DrawString(text1, font1, Brushes.Blue, rectF1)
        e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rectF1))
    Finally
        font1.Dispose()
    End Try
    

Pour dessiner du texte encapsulé dans un rectangle avec GDI

  1. Utilisez la valeur d’énumération pour spécifier que TextFormatFlags le texte doit être encapsulé avec la DrawText méthode surchargée, en passant le texte souhaité, RectangleFont et Color.

    string text2 = "Draw text in a rectangle by passing a RectF to the DrawString method.";
    using (Font font2 = new Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point))
    {
        Rectangle rect2 = new Rectangle(30, 10, 100, 122);
    
        // Specify the text is wrapped.
        TextFormatFlags flags = TextFormatFlags.WordBreak;
        TextRenderer.DrawText(e.Graphics, text2, font2, rect2, Color.Blue, flags);
        e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rect2));
    }
    
    Dim text2 As String = _
        "Draw text in a rectangle by passing a RectF to the DrawString method."
    Dim font2 As New Font("Arial", 12, FontStyle.Bold, GraphicsUnit.Point)
    Try
        Dim rect2 As New Rectangle(30, 10, 100, 122)
        
        ' Specify the text is wrapped.
        Dim flags As TextFormatFlags = TextFormatFlags.WordBreak
        TextRenderer.DrawText(e.Graphics, text2, font2, rect2, Color.Blue, flags)
        e.Graphics.DrawRectangle(Pens.Black, Rectangle.Round(rect2))
    Finally
        font2.Dispose()
    End Try
    

Compilation du code

Les exemples précédents nécessitent :

Voir aussi