| 

.NET C# Java Javascript Exception

1
Hallo,

gibt es eine Möglichkeit herauszufinden, wie breit bzw. wie groß das "Rechteck" letztlich ist, wenn ich folgenden Befehl im Paint-Event ausführe:

e.Graphics.DrawString("Ich bin der Text", New Font("Rockwell", 12, FontStyle.Bold), Brushes.Black, oRect, DrawFormat)

(stammt aus einem Codeschnipsel, den man oft im Web findet; z. B. hier http://dev-reference.de/forum/262-laufschrift.html)

Ich möchte nämlich den String vor dem Starten der Laufschrift so lange mit Blanks auffüllen, dass die PictureBox komplett genutzt wird.
News:
29.08.2013
muffi 1,4k 1 9
1 Antwort
2
Graphics stellt die Methode
MeasureString
zur Verfügung.

Diese hat aber nach meinem Wissen eine Macke, die in Deinem Fall zum tragen kommen könnte: Leerzeichen am Ende werden nicht gemessen!

Du kannst das Problem aber umgehen, indem Du einen Text mit einem Space in der Mitte (z.B. "a a" und denselben ohne Space ("aa") im gewünschten Font misst und die Differenz ist die Breite eines einzelnen Spaces. Mit diesem Wert kannst du dann die Anzahl der benötigten Spaces berechnen.
29.08.2013
Roland Bär 330 6
Man kann ja auch vorne mit Leerzeichen auffüllen, das ist ja relativ egal. Gibt es den Bug da auch?
muffi 29.08.2013
Funktioniert mit den Leerzeichen vor dem Text. Grüner Haken + Danke
muffi 29.08.2013
Ist sogar verständlich: Rein optisch ergibt sich keine Auswirkung auf die "Länge" des Textes, wenn Leerzeichen am Ende abgeschnitten werden. Würde man sie vorne wegschneiden, dann schon :)
Karill Endusa 29.08.2013

Stelle deine .net-Frage jetzt!
TOP TECHNOLOGIES CONSULTING GmbH