VB.Net - Label-Control skalieren
Hi,
kann man im Visual Studion ein Label-Control skalieren?
Bsp.:
Ich habe eine verfügbare Fläche, welches vollständig durch ein Text-Label eingenommen werden soll. Der Text ist statisch.
Jedoch mit keiner der vorhandenen Schriftarten bekomme ich es hin, dass der Text (ohne Umbruch) die volle Breite und Höhe einnimmt.
Also dachte ich mir: Nimm eine Schriftart, welche die Breite füllt. Dann ziehe das Label vertikal auf die gewünschte Höhe, aber so, dass der Text ebenfalls in der Höhe skaliert wird.
Ich dachte, das würde mit der Methode Control.Scale gehen, aber damit verschiebt der nur das Control innerhalb des Parent-Controls und ändert dessen Größe, wenn "Autosize = False" ist. Der Text behält seine Größe.
Hat jemand ne Idee?
E.
kann man im Visual Studion ein Label-Control skalieren?
Bsp.:
Ich habe eine verfügbare Fläche, welches vollständig durch ein Text-Label eingenommen werden soll. Der Text ist statisch.
Jedoch mit keiner der vorhandenen Schriftarten bekomme ich es hin, dass der Text (ohne Umbruch) die volle Breite und Höhe einnimmt.
Also dachte ich mir: Nimm eine Schriftart, welche die Breite füllt. Dann ziehe das Label vertikal auf die gewünschte Höhe, aber so, dass der Text ebenfalls in der Höhe skaliert wird.
Ich dachte, das würde mit der Methode Control.Scale gehen, aber damit verschiebt der nur das Control innerhalb des Parent-Controls und ändert dessen Größe, wenn "Autosize = False" ist. Der Text behält seine Größe.
Hat jemand ne Idee?
E.
Bitte markiere auch die Kommentare, die zur Lösung des Beitrags beigetragen haben
Content-ID: 359375
Url: https://administrator.de/contentid/359375
Ausgedruckt am: 24.11.2024 um 23:11 Uhr
8 Kommentare
Neuester Kommentar
Folgende Methode im Form Resize Event aufrufen sollte reichen.
http://csharphelper.com/blog/2015/04/size-a-font-to-fit-a-label-in-c/
Gruß @135051
http://csharphelper.com/blog/2015/04/size-a-font-to-fit-a-label-in-c/
Gruß @135051
Moin emeriks,
ich hoffe, ich habe dich richtig verstanden.
Bsp:
Darstellung im Designer:
Gesetzte Optionen:
Anchor = Top,Left
AutoSize = False
Dock = Top
TextAlign = TopCenter
Font Size = 10
Code innerhalb der Form
Darstellung bei unterschiedlicher Größe des Fensters:
LG
Volchy
ich hoffe, ich habe dich richtig verstanden.
Bsp:
Darstellung im Designer:
Gesetzte Optionen:
Anchor = Top,Left
AutoSize = False
Dock = Top
TextAlign = TopCenter
Font Size = 10
Code innerhalb der Form
Public Class Form1
Private Sub Form1_SizeChanged(sender As Object, e As System.EventArgs) Handles Me.SizeChanged
Label1.Size = New System.Drawing.Size(ClientSize.Width / 3, ClientSize.Height / 3)
Label1.Font = New System.Drawing.Font("Arial", ClientSize.Height / 20)
End Sub
End Class
Darstellung bei unterschiedlicher Größe des Fensters:
LG
Volchy
Label1.Size
Das hättest du schon mit Anchor = Top,Left,Right erreicht Außerdem soll es kein Umbruch geben, oben verlinkten Funktion erledigt das zuverlässig.
Btw. würde ich hier persönlich zu WPF switchen.
Und was willst du erreichen?
Soll der Font verzerrt werden so dass er immer das Rechteck komplett ausfüllt egal welches Seitenverhältnis die Form hat? Dann wirst du aus dem Text ein Graphics erzeugen müssen und daraus ein Image das du skalierst.
Soll der Font verzerrt werden so dass er immer das Rechteck komplett ausfüllt egal welches Seitenverhältnis die Form hat? Dann wirst du aus dem Text ein Graphics erzeugen müssen und daraus ein Image das du skalierst.