e questo se vuoi usare una prin dialog prima....codice:Public Class PrintingExample Private printFont As Font Private streamToPrint As StreamReader Private Shared filePath As String Public Sub New() Printing() End Sub ' The PrintPage event is raised for each page to be printed. Private Sub pd_PrintPage(sender As Object, ev As PrintPageEventArgs) Dim linesPerPage As Single = 0 Dim yPos As Single = 0 Dim count As Integer = 0 Dim leftMargin As Single = ev.MarginBounds.Left Dim topMargin As Single = ev.MarginBounds.Top Dim line As String = Nothing ' Calculate the number of lines per page. linesPerPage = ev.MarginBounds.Height / printFont.GetHeight(ev.Graphics) ' Iterate over the file, printing each line. While count < linesPerPage line = streamToPrint.ReadLine() If line Is Nothing Then Exit While End If yPos = topMargin + count * printFont.GetHeight(ev.Graphics) ev.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, _ yPos, New StringFormat()) count += 1 End While ' If more lines exist, print another page. If Not (line Is Nothing) Then ev.HasMorePages = True Else ev.HasMorePages = False End If End Sub ' Print the file. Public Sub Printing() Try streamToPrint = New StreamReader(filePath) Try printFont = New Font("Arial", 10) Dim pd As New PrintDocument() AddHandler pd.PrintPage, AddressOf pd_PrintPage ' Print the document. pd.Print() Finally streamToPrint.Close() End Try Catch ex As Exception MessageBox.Show(ex.Message) End Try End Sub 'Printing ' This is the main entry point for the application. Public Shared Sub Main() Dim args() As String = System.Environment.GetCommandLineArgs() Dim sampleName As String = args(0) If args.Length <> 1 Then Console.WriteLine("Usage: " & sampleName & " <file path>") Return End If filePath = args(0) End Sub End Class
il tutto preso da msdn....cercate cercatecodice:' Declare the PrintDocument object. Private WithEvents docToPrint As New Printing.PrintDocument ' This method will set properties on the PrintDialog object and ' then display the dialog. Private Sub Button1_Click(ByVal sender As System.Object, _ ByVal e As System.EventArgs) Handles Button1.Click ' Allow the user to choose the page range he or she would ' like to print. PrintDialog1.AllowSomePages = True ' Show the help button. PrintDialog1.ShowHelp = True ' Set the Document property to the PrintDocument for ' which the PrintPage Event has been handled. To display the ' dialog, either this property or the PrinterSettings property ' must be set PrintDialog1.Document = docToPrint Dim result As DialogResult = PrintDialog1.ShowDialog() ' If the result is OK then print the document. If (result = DialogResult.OK) Then docToPrint.Print() End If End Sub ' The PrintDialog will print the document ' by handling the document's PrintPage event. Private Sub document_PrintPage(ByVal sender As Object, _ ByVal e As System.Drawing.Printing.PrintPageEventArgs) _ Handles docToPrint.PrintPage ' Insert code to render the page here. ' This code will be called when the control is drawn. ' The following code will render a simple ' message on the printed document. Dim text As String = "In document_PrintPage method." Dim printFont As New System.Drawing.Font _ ("Arial", 35, System.Drawing.FontStyle.Regular) ' Draw the content. e.Graphics.DrawString(text, printFont, _ System.Drawing.Brushes.Black, 10, 10) End Sub![]()

Rispondi quotando