Printen in Visual Basic .Net
Importeer de volgende namespaces : System.IO en System.Drawing.Printing. Vul een string die je wilt printen en noem hem bijvoorbeeld strPrint. Declareer deze string global.
Dim strPrint, stringtoprint As String
Dim pSettings As New System.Drawing.Printing.PageSettings
Public Function Make_String()
strPrint = "Een lange of korte tekst" End Function
Sleep een PrintDocument object vanaf de toolbox naar je formulier.
In de PrintDocument sub module stel je de limieten en de randen van de pagina's in. Dit is het lastigste onderdeel:
Dim numChars, numLines As Integer Dim strForPage As String Dim strFormat As New StringFormat
Dim printfont As System.Drawing.Font printfont = New Font("verdana", 12, FontStyle.Bold) Dim rectDraw As New RectangleF(e.MarginBounds.Left, e.MarginBounds.Top, e.MarginBounds.Width, e.MarginBounds.Height) Dim sizeMeasure As New SizeF(e.MarginBounds.Width, e.MarginBounds.Height - PrintFont.GetHeight(e.Graphics)) strFormat.Trimming = StringTrimming.Word e.Graphics.MeasureString(stringtoprint, PrintFont, sizeMeasure, strFormat, numChars, numLines) strForPage = stringToPrint.Substring(0, numChars) e.Graphics.DrawString(strForPage, printfont, Brushes.Black, rectDraw, strFormat) e.Graphics.DrawString("SampleText", New Font("Verdana", 12, FontStyle.Bold), Brushes.Black, 150, 125) e.Graphics.DrawRectangle(New Pen(Color.Black, 1), 10, 100, 700, 50) If numChars < stringToPrint.Length Then
stringToPrint = stringToPrint.Substring(numChars)
e.HasMorePages = True Else
e.HasMorePages = False
stringToPrint = strPrint End If
In een Try/Catch blok van een sub gebruik je verschillende methodes van de PrintDocument klasse om de string uit te printen:
Make_String() stringToPrint = strPrint Try
PrintDocument1.DefaultPageSettings = pSettings
PrintDialog1.Document = PrintDocument1
Dim result As DialogResult = PrintDialog1.ShowDialog
If result = DialogResult.OK Then
PrintDocument1.Print()
End If Catch ex As Exception
MessageBox.Show("Error printing." & vbCrLf & ex.ToString) End Try
Sleep een PageSetupDialog naar je formulier en plaats in een menu klik event (of buttom klik event) de volgende code:
Try
PageSetupDialog1.PageSettings = pSettings
PageSetupDialog1.ShowDialog() Catch ex As Exception
MessageBox.Show(ex.Message) End Try
|