Hej! Finns säkert massor med sätt att lösa det på. Här är ett som använder PrintDocument: Hej och tack för svaret. Med DrawString() så styr du positionen inom utskriftsområdet själv (i ditt fall x=700, y=200). Det du behöver göra för en snygg högerjustering är att mäta hur stort plats din text kommer ta (genom att använda en lämplig variant av MeasureString()), och därefter anpassa vilka koordinater du skickar till DrawString().Högerställd text vid utskrift
Är det någon som vet om det överhuvudtaget går att få högerställd text vid utskrift i vb net/2010 express.
Har letat men kan inte hitta något om detta bara .center och far samt Near men det verkar vara samma som top, center och botten i en ruta.
Jag vill skriva ut summa med decimalen.
/TobbeSv: Högerställd text vid utskrift
' Form1.vb
Private Sub PrintIt()
Dim dialog As New PrintDialog
If (dialog.ShowDialog = Windows.Forms.DialogResult.OK) Then
Dim doc As New TestDocument
doc.PrinterSettings = dialog.PrinterSettings
doc.Text = "Detta står till höger"
doc.Print()
End If
End Sub
'TestDocument.vb
Imports System.Drawing.Printing
Public Class TestDocument
Inherits PrintDocument
Public Sub New()
MyBase.New()
Text = String.Empty
TextFont = New Font("Calibri", 12)
End Sub
Public Property Text As String
Public Property TextFont As Font
Protected Overrides Sub OnPrintPage(e As PrintPageEventArgs)
MyBase.OnPrintPage(e)
Dim format As New StringFormat(StringFormatFlags.NoWrap)
Dim pagePrintableArea = GetPrintableArea(DefaultPageSettings)
PrintRight(Text, pagePrintableArea, e.Graphics)
End Sub
Private Sub PrintRight(txt As String, printableArea As RectangleF, g As Graphics)
Dim textSize = g.MeasureString(txt, TextFont, printableArea.Width)
Dim leftPadding = printableArea.Width - textSize.Width
Dim textOrigin = New PointF(printableArea.X + leftPadding, printableArea.Y)
g.DrawString(txt, TextFont, Brushes.Black, textOrigin)
End Sub
Private Function GetPrintableArea(settings As PageSettings) As RectangleF
Dim height = settings.PaperSize.Height - (settings.Margins.Top + settings.Margins.Bottom)
Dim width = settings.PaperSize.Width - (settings.Margins.Left + settings.Margins.Right)
Return New RectangleF(settings.Margins.Left, settings.Margins.Top, width, height)
End Function
End Class
Sv:Högerställd text vid utskrift
Jag använder denna kod för att skriva ut .
e.Graphics.DrawString(DataGridView1.Item(5, i).Value, font1, Brushes.Black, 700, 200)
Får inte riktigt till det hur jag ska få in din kod för detta.
TobbeSv:Högerställd text vid utskrift