vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2021
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Printing - Problem - Nach erster Zeile ist ein Abstand, aber der Rest stimmt :-O 
Autor: Seek1
Datum: 30.06.21 17:37

Hallo Leute,

Ich will einfach einen Text ausdrucken, der via vbnewline getrennte ist.
Dazu habe ich mal ein Kleines Programm zum Testen erstellt:

    Public PrintString As String
    Public linecount As Integer
 
    Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) _
      Handles Button1.Click
        If PrintDialog.ShowDialog() = Windows.Forms.DialogResult.Cancel Then
            Exit Sub
        End If
 
        Dim prnt As New Printing.PrintDocument
        prnt.PrinterSettings = PrintDialog.PrinterSettings
        prnt.DocumentName = "TestPrint " & My.Computer.Clock.LocalTime.ToString
 
        PrintString = ""
        For i = 1 To 185
            PrintString = PrintString & " " & i & vbNewLine
        Next i
 
        linecount = 0
        AddHandler prnt.PrintPage, AddressOf PrintPageHandler
        prnt.Print()
        RemoveHandler prnt.PrintPage, AddressOf PrintPageHandler
    End Sub
 
    Public Sub PrintPageHandler(ByVal sender As Object, ByVal args As _
      Printing.PrintPageEventArgs)
        Dim Lines() As String = PrintString.Split(vbNewLine)
        Dim Fontt As New Font("Arial", 10, FontStyle.Regular, _
          GraphicsUnit.Pixel)
        Dim Actline As String
 
        Dim VerticalPos As Integer = 20
 
        Do
            Actline = Lines(linecount)
            args.Graphics.DrawString(Actline, Fontt, Brushes.Black, 20, _
              VerticalPos)
            VerticalPos = VerticalPos + Fontt.Height
 
            If linecount < UBound(Lines) Then
                linecount = linecount + 1
            End If
 
            If VerticalPos + (4 * Fontt.Height) >= args.PageBounds.Bottom Then
                args.HasMorePages = True
                Return
            End If
 
        Loop Until linecount >= UBound(Lines)
    End Sub
Nun da Problem:

Es wird folgendes auf der ersten Seite ausgedruckt:

1

2
3
4
5
6

Woher kommt der Abstand bei der ersten Zeile?
Auf den nächsten Seiten scheint es zu stimmen.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Printing - Problem - Nach erster Zeile ist ein Abstand, aber...134Seek130.06.21 17:37
Re: Printing - Problem - Nach erster Zeile ist ein Abstand, ...92Seek130.06.21 18:01
Re: Printing - Problem - Nach erster Zeile ist ein Abstand, ...90Seek130.06.21 18:19

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2021 vb@rchiv Dieter Otter
Alle Rechte vorbehalten.
Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel