Enkla utskrifter med VB.NET
Förord
I den artikeln kommer jag att skriva om hur man gör en utskrift i VB.NETInnehåll
»»
»
»
»
»
Relaterade artiklar
» Introduktion till Visual Basic .Net
Lägga till kontroller
För att kunna göra utskrifter i VB.NET behövs egentligen bara en kontroll. Det är PrintDocument. Men det är bra ifall man får välja vilken skrivare man vill skriva ut på osv. Lägg därför även till en PrintDialog till ditt form.Döp PrintDocument och PrintDialog och sätt egenskapen document på PrintDialog till det du har döp ditt PrintDocument. Lägg även till en knapp till ditt formulär.
En enkel utskrift
Nu har vi börjat komma till själva koden. När användaren klickar på knappen skall PrintDialog komma upp. Sen skall pappret skrivas ut.
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
If PrintDialog1.ShowDialog = DialogResult.OK Then
PrintDocument1.Print()
End If
End Sub
Men utskriften är inte färdig än. Man måste också ange vad som skall skrivas på pappret. Det gör man i händelsen PrintDocument1_PrintPage. Nu skall vi skriva "Min utskrift" på pappret.
Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
e.Graphics.DrawString("Min utskrift", New Font("Comic Sans MS", 20, FontStyle.Bold), Brushes.Black, 200, 200)
End Sub
Den här koden skriver "Min utskrift" i Comic Sans MS storlek 20 i fet stil och svart färg. De två sista värdena är till för att bestämma var på pappret texten skall skrivas. Ett papper är 827 brett och 1169 högt men kom ihåg att lämna marginal. Själv så brukar jag arbeta med höjden 100 -> 1069 och bredden 100 -> 727.
Skriva ut text
Nu skall vi kolla närmare på e.Graphics.DrawString(). Det finns lite olika varianter på den men jag kommer att gå genom den som jag visade tidigare. Först anger man texten. Det är inga svårigheter med det. Sen skall man ange stilen. Om man skall skriva mycket kan man lagra den i variabel.
Dim oFont As Font
oFont = New Font("Comic Sans Ms", 20, FontStyle.Bold)
När man ska skall skapa en Font anger man stil, storlek och ifall texten skall vara fet, kursiv, understruken, osv. Nu skall vi gå vidare med nästa värde i e.Graphics.DrawString(). Det är vilken färg texten skall ha. Man skriver Brushes, punkt och färgen. Sen anger man x och y-koordinaterna.
Skriva ut linjer och rektanglar
I den här delen kommer jag att gå igenom hur man ritar (ev. kladdar) på pappret. Innan man börjar rita måste man skapa en penna. Den skapar man genom att skriva.
Dim oPenna As Pen
oPenna = New Pen(Color.Black, 3)
Man anger färg och tjocklek. Nu skall vi rita en linje med hjälp av pennan.
e.Graphics.DrawLine(oPenna, 100, 100, 300, 300)
Här anger man först vilken penna man vill ha, sedan startpositionen för linjen x och y och till sist slutpositionen för linjen x, y. Nu skall vi även försöka rita en rektangel.
e.Graphics.DrawRectangle(oPenna, 100, 100, 200, 200)
Först anger man vilken penna, precis som när man ritar linjer. Sen anger man vad övre vänstra hörnet skall vara x, y. Slutligen anger man bredd och höjd. Om man nu vill har rektangeln ifylld så byter man ut DrawRectangle() mot FillRectangle(). Istället för att ange en penna skriver man Brushes.Black. Givetvis kan man byta färg.
e.Graphics.FillRectangle(Brushes.Green, 100,100, 200, 200)
Lite extra finesser
Om du inte vill slösa med papper och patron vid testutskrifter, lägg till en PrintPreviewDialog, ange ditt PrintDocument under egenskapen Document och skriv i Button1_Click():
PrintPreviewDialog.ShowDialog()
Om du vill visa ett meddelande "Utskriften har skickats till skrivaren" så gör du det i händelsen PrintDocument1_EndPrint().
Private Sub PrintDocument1_EndPrint(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintEventArgs) Handles PrintDocument1.EndPrint
MsgBox("Utskriften har skickats till skrivaren")
End Sub
Om du vill kolla hur många installerade skrivare som finns så tar du och skriver:
Dim intAntal As Integer
intAntal = PrintDocument1.PrinterSettings.InstalledPrinters.Count
En annan sak som man ibland vill kolla är om skrivaren klarar färgutskrifter
Dim bKlararFärg As Boolean
bKlararFärg =PrintDocument1.PrinterSettings.SupportsColor
Koden ovan returnerar true ifall standardskrivaren klarar färg.
Slutord
Nu var det slut på den här artikeln och jag hoppas att du har lärt dig lite om hur man gör utskrifter i VB.NET./Gustav Nilsson
0 Kommentarer