Feedback

C# - Einen "Text-Kasten" zeichnen

Veröffentlicht von am 16.02.2014
(0 Bewertungen)
Die untenstehende Methode zeichnet einfach einen Text-Kasten.
Parameter:
sText: Der Text
fText: Die Schriftart
cText: Die Textfarbe
cBox: Die Hintergrundfarbe der Box
cBorder: Die Farbe des Randes
iOuterBorderWidth: Die Breite des Randes in Pixel
iInnerBorderWidth: Der Abstand zwischen Text und äußerem Rand in Pixel
pLocation Der Punkt, an dem die Box gezeichnet werden soll (obere linke Ecke)
g: Die Graphics, auf die die Box gezeichnet wird.
private void DrawStringBox(string sText, Font fText, Color cText, Color cBox, Color cBorder, int iOuterBorderWidth, int iInnerBorderWidth, Point pLocation, Graphics g)
{
    Point pBorder = pLocation;
    Point pBox = pLocation;
    Point pText = pLocation;

    pBox.Offset(iOuterBorderWidth, iOuterBorderWidth);
    pText.Offset(iOuterBorderWidth + iInnerBorderWidth, iOuterBorderWidth + iInnerBorderWidth);

    Size szText = TextRenderer.MeasureText(sText, fText);
    Size szBox = szText;
    Size szBorder = szText;

    szBox.Width += (2 * iInnerBorderWidth);
    szBox.Height += (2 * iInnerBorderWidth);

    szBorder.Width += (2 * iInnerBorderWidth) + (2 * iOuterBorderWidth);
    szBorder.Height += (2 * iInnerBorderWidth) + (2 * iOuterBorderWidth);

    g.FillRectangle(new SolidBrush(cBorder), new Rectangle(pBorder, szBorder));
    g.FillRectangle(new SolidBrush(cBox), new Rectangle(pBox, szBox));
    g.DrawString(sText, fText, new SolidBrush(cText), pText);
}
Abgelegt unter Text, Kasten, Box, zeichnen, draw.

Kommentare zum Snippet

 

Logge dich ein, um hier zu kommentieren!