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.
GFU-Schulungen  [Anzeige]

C# 2017/2015/2013 Aufbau

In dieser Schulung lernen Sie fortgeschrittene Techniken im Bereich .Net C#. Dabei stehen neben den eigentlichen Techniken auch architektonische Aspekte im Mittelpunkt.

VB.NET Aufbau

Sie verfügen nach der Schulung über fundierte Kenntnisse in der Arbeit mit objektorientierten Modellen in VB.NET und können wiederverwendbare Komponenten eigenständig erzeugen.

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!