ในโค้ดที่แนบมาให้ดู จะมี AnyString Sub ในการวาดตัวอักษรลงบน PrintDocument ครับ ซึ่ง Sub นี้มันจะวาดตัวอักษรชิดซ้ายตลอด ดังนั้นผมเลยเสนอให้สร้าง Sub ที่สามารถกำหนด StringFormat ได้ว่าจะให้ชิดซ้าย ชิดขวา หรือกึ่งกลาง
Public Sub FormatString(ByVal g As Graphics, ByVal printString As String, ByVal xPos As Integer, ByVal yPos As Integer, ByVal align As StringAlignment)
Dim f As New StringFormat
f.Alignment = align
g.DrawString(printString, useFont, Brushes.Black, xPos, yPos, f)
End Sub
สังเกตุว่าจะมีการใช้ตัวแปรชื่อ useFont ด้วยครับ ซึ่ง useFont ก็ต้องถูกประกาศในระดับ Page และกำหนด Font ที่ต้องการใช้วาด PrintDocument ที่ต้องการ
เวลาเรียกใช้ให้จัดชิดขวาก็
FormatString(e.Graphics, "test123", 100, currentYPosition, StringAlignment.Far)
ถ้าต้องการให้อยู่ตรงกลางก็
FormatString(e.Graphics, "test123", 100, currentYPosition, StringAlignment.Center)
ไม่มีความคิดเห็น:
แสดงความคิดเห็น