c#: mehrere Zeilen zentriert drucken?


cmol

Grünschnabel
Servus,
kann mir vielleicht jemand beim drucken mit c# helfen?
Und zwar möchte ich einen Text zentriert drucken. Bis jetzt versuche ich es so:

In meinem printDoc_PrintPage(...) Event Handler habe ich zuerst folgendes definiert:

Size size = new Size(200,200);
Point pt = new Point(size);
Rectangle destRect = new Rectangle(pt,size);
StringFormat strFormat = new StringFormat();
strFormat.LineAlignment = StringAlignment.Center;

Danach möchte ich dann einen String drucken der über mehere Zeilen geht und dabei in jeder Zeile zentriert bleibt.
wie z.B.

ev.Graphics.DrawString( "Hallo, hallo, hier mal zentriert!\n Und eine Zeile darunter auch! ",printFont,Brushes.Black,destRect,strFormat);

Ich hoffe es kann mir evtl. jemand einen Tipp geben.
Eine weitere Frage, die ich mir schon seit Tagen stellen: Wie kann ich die genaue mitte eine Seite abfragen bzw. wie bekomme ich den zu druckenden Text genau an der Mitte der Seite zentriert?

Vielen Dank schonmal!
cmol
 

cmol

Grünschnabel
's selbst schon gefunden!

Juhu,
beantworte am Besten selbst meine Frage :)
Hoffe es hilft mal noch jemandem:

Es lag an dem StringFormat strFormat, welches ich der DrawString Methode übergebe. Und zwar funktioniert es, wenn man strFormat.Alignment = StringAlignment.Center definiert, anstatt strFormat.Alignment = StringAlignment.Center.

Aber vielleicht hat ja jemand noch einen Tip zu meiner zweiten kleinen Frage mit der Seitenmitte.

Schöne Grüße!
cmol