Was passiert ist unter der Haube ist es wahrscheinlich Graphics.MeasureString (), aus der Dokumentation:
GDI + fügt jedem Ende jeder angezeigten Zeichenfolge eine kleine Menge (1/6 em) hinzu. Diese 1/6 em erlaubt & gt; für Glyphen mit überhängenden Enden (wie kursiv "f") und gibt GDI + auch eine kleine Menge & gt; von Spielraum, um bei der Anpassung der Gitteranpassung zu helfen.
Die Standardaktion von DrawString funktioniert bei der Anzeige benachbarter Läufe gegen Sie:
Zunächst fügt das Standard-StringFormat an jedem Ende jeder Ausgabe ein zusätzliches 1/6 em hinzu; Zweitens, wenn die Breite des Gitters geringer ist als vorgesehen, kann sich die Schnur zusammenziehen bis zu einem em. Um diese Probleme zu vermeiden:
Übergeben Sie immer MeasureString und DrawString ein StringFormat basierend auf dem typografischen & gt; StringFormat (GenericTypographic). Legen Sie Graphics TextRenderingHint auf TextRenderingHintAntiAlias fest. Diese Rendering-Methode verwendet Anti-Aliasing und Sub-Pixel-Glyph-Positionierung, um die Notwendigkeit einer Gitteranpassung zu vermeiden, und & gt; ist somit von Natur aus unabhängig von der Auflösung.
Es sieht also so aus, als könnten Sie das mit dem richtigen StringFormat beheben.
Tags und Links .net c# gdi ownerdrawn