Hallo!
An zahlreichen Stellen in Windows findet man Labels bei denen hinter dem Text eine waagerechte Linie bis zum Fensterrand folgt. Hiermit lassen sich gut verschiedene Abschnitte des Forminhalts unterteilen.
Gibt es eine solche Komponente unter den WinForms Standardkomponenten. Beim normalen Label konnte ich diese Funktion leider nicht entdecken. Da ich noch recht neu in .NET bin soll das allerdings nicht all zu viel heißen 😃
Bekommt man das also mit Boardmitteln hin oder braucht man dazu eine zusätzliche Komponente? Kann jemand eine Komponente empfehlen?
Besten Dank
Ares
Hallo Ares,
das kannst Du z. B. mit einer GroupBox realisieren.
Gruß, Sparky
:::
Text auf einem Button im Computer Museum Boston, USA
Hallo Ares,
du kannst diese Komponente auch "nachbauen", indem du ein Label nimmst, den Text löscht, AutoSize auf false, BorderStyle auf Fixed3D und Height auf 2 setzt.
Ist nur nicht sehr schön das dann zu positionieren...
Gruß Michbeck1983
Neulich im Computerkurs:
Mein Computer kennt Else nicht! 😁
[URL]XING-Profil[/URL]
Hallo!
Die Groupbox liefert quasi genau was ich suche, allerdings zeichnet diese eben eine Box, also 3 Linien zu viel 😃
Das "nachbauen" mit einzelnen Komponenten möchte ich mir eigentlich sparen. Solche "Label mit Linie" sieht man doch eigentlich recht häufig, dass muss es doch schon irgendwie fertig geben.
Hallo Ares,
das nachbauen das ich beschrieben habe benötigt nur ein Label. Ansonsten würde ich ein UserControl erstellen mit den nötigen Steuerelementen und gut ist 😁
Gruß Michbeck1983
Neulich im Computerkurs:
Mein Computer kennt Else nicht! 😁
[URL]XING-Profil[/URL]
das nachbauen das ich beschrieben habe benötigt nur ein Label. Ansonsten würde ich ein UserControl erstellen mit den nötigen Steuerelementen und gut ist
ich denke das eine linie zeichnen jeder in einer zeile code hinbekommen sollte und somit wäre es wohl das einfachste, von einem label zu erben und die linie einfach zu zeichnen.
Ares, gib doch mal ein Beispiel (Screenshot) was du meinst (da du anscheinend ja keine GroupBox meinst).
Ich seh das auch wie Jack30lena,
einfach ein eigenes UnderlineLable was von Label erbt und dort die OnPaint Methode überschreiben und die Linie Zeichnen...
Again what learned...
Hallo Ares,
wenn dem Text eine Linie folgt, ist das möglicherweise nichts anders als eine Folge von Unterstrichen.
herbivore
class UnderlineLabel : System.Windows.Forms.Label
{
public UnderlineLabel()
{
this.AutoSize = false;
this.TextAlign = System.Drawing.ContentAlignment.TopLeft;
}
[DefaultValue(false)]
public override bool AutoSize
{
get
{
return base.AutoSize;
}
set
{
base.AutoSize = value;
}
}
protected override void OnPaint(System.Windows.Forms.PaintEventArgs e)
{
base.OnPaint(e);
e.Graphics.DrawLine(Pens.Black, new Point(0, e.ClipRectangle.Bottom - 2), new Point(e.ClipRectangle.Right, e.ClipRectangle.Bottom - 2));
e.Graphics.DrawLine(Pens.Gray, new Point(1, e.ClipRectangle.Bottom - 1), new Point(e.ClipRectangle.Right, e.ClipRectangle.Bottom - 1));
ich denk mal so was würde es tun...
Again what learned...