Utskrifter

Felmeddelanden Utskrift med dialogfönster

För att skriva ut en text måste vi först skriva en Imports-sats längst upp i redigeringsfönstret ovanför Public Class Form1:

Imports System.Drawing.Printing

Nu har vi tillgång till metoder för utskrift. Sedan skall vi skapa oss en procedur som hanterar printmetoden Document.Print för utskrift av det som står i en TextBox. Under Windows Form Designer generated code skriver vi en subprocedur.

Private Sub SkrivUt(ByVal sender As Object, ByVal e As PrintPageEventArgs)
e.Graphics.DrawString(TextBox1.Text, New Font("Ariel", 11), Brushes.Black, 120, 120)
e.HasMorePages = False
End Sub

I parentesen kan vi ange typsnitt och var på papperet utskriften skall göras. Siffrorna 120, 120 motsvarar 120 pixlar från vänsterkanten respektive 120 pixlar från överkanten på papperet. Sist anges att det inte är mer än en sida som skall skrivas ut.

Nu sätter vi ut en TextBox med egenskapen MultiLine=True samt en Button. I knappen skriver vi koden:

Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click

Dim PrDoc As New PrintDocument()
AddHandler PrDoc.PrintPage, AddressOf SkrivUt
PrDoc.Print()
End Sub

Den här koden dimensionerar en variabel av typen PrintDocument. PrintDocument finns också i Toolbox och kan läggas till i projektet, men så här kan man skapa kontrollen med kod. AddHandler anger att vår subprocedur skall anropas när händelsen för PrintDocument utlöses. AddressOf skapar ett objekt som vidarebefordrar anropen till subproceduren vi gjorde.

Den här metoden har två begränsningar:

  • Långa rader utan radbrytning, där raderna går över högermarginalen, radbryts inte.
  • Det går bara att skriva ut en sida.

I nästa lektion skall vi göra på ett annan sätt och använda dialogrutor.

Felmeddelanden Utskrift med dialogfönster

SupportData.Net
©