Udskrivning af labels
HejJeg er ret ny i Visual Basic .Net (har lige fået Visual Studio 2005). Mit problem er, at jeg skal lave et program der kan generere og printe labels.
Jeg har lavet en kode der beregner indholdet og generer en label og sender den til print, hvorefter koden beregner/generere indholdet af den næste label og sender den til print. Dette bevirker dog, at jeg x antal gange får beskeden "Udskriver side 1" (hvilket er ret irriterende eftersom der måske skal printes 80 labels) samt at der går et øjeblik fra mellem hver label printes på printeren.
Kan man undgå den besked eller hvordan kommer jeg udenom problemet ?
Jeg overvejede at åbne word, og generere labels'ene i word og derefter printe dokumentet ud, men ved ikke lige hvordan jeg åbner Word fra mit program.
Min kode ser sådan ud:
Private Sub BtnOK_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnOK.Click
Dim PrintDoc As New PrintDocument
‘opsamler data
AddHandler PrintDoc.PrintPage, AddressOf Me.PrintLabel
PrintDoc.Print()
’beregner indholdet af næste label
End Sub
Private Sub PrintLabel(ByVal sender As Object, ByVal ev As PrintPageEventArgs)
Dim n As Int32
n = 10
'use DrawString to create text in the Graphics object
ev.Graphics.DrawString("Tekst ", New Font("Arial", 12, FontStyle.Regular), Brushes.Black, 11, n)
ev.Graphics.DrawString(“xxxx”, New Font("Arial", 12, FontStyle.Regular), Brushes.Black, 120, n)
n = +25
ev.Graphics.DrawString("Tekst 2", New Font("Arial", Str, FontStyle.Regular), Brushes.Black, 8, n)
ev.Graphics.DrawString(“yyyy”, New Font("Arial", Str, FontStyle.Regular), Brushes.Black, 120, n)
n += 15
ev.Graphics.DrawLine(Pens.Black, 10, n + 20, 240, n + 20)
ev.HasMorePages = False
End Sub
Er jeg helt galt afmarcheret ?