vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Blitzschnelles Erstellen von grafischen Diagrammen!  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2025
 
zurück

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

VB.NET - Ein- und Umsteiger
ListBox Ausdrucken 
Autor: MadTrinity
Datum: 04.01.07 07:33

Hallo Leute,
vielleicht kann mir ja jemand bei meinem kleinen Problem helfen,
Ich möchte gerne den Inhalt einer ListBox ausdrucken die unterschiedlich viele Einträge haben kann leider habe ich so gut wie keine Erfahrung mit dem Drucken. Folgendes habe ich mir zusammengebastelt aber, leider wird mir in der Druckvorschau bei einer Seite alles richtig angezeigt und wenn ich mehr als eine Seite zum Drucken habe wird der Rest auch auf die erste Seite gemacht.
Hier der Code:
#Region "Print"
 
 
    Private Sub document_PrintPage(ByVal sender As Object, ByVal e As _
      System.Drawing.Printing.PrintPageEventArgs) _
               Handles docToPrint.PrintPage
        Dim rect As New Rectangle( _
          PrintDocument1.DefaultPageSettings.PrintableArea.X, _
          PrintDocument1.DefaultPageSettings.PrintableArea.Y, _
        PrintDocument1.DefaultPageSettings.PrintableArea.Width, _
        PrintDocument1.DefaultPageSettings.PrintableArea.Height)
        Dim bolfertig As Boolean = False
        Dim ZeilenHöhe As Double = 0
        Dim index As Integer = 0
        Dim X As Double = rect.X
        Dim Y As Double = rect.Y
        Dim Breite As Double = rect.Width
        Dim Höhe As Double = rect.Height
        Dim NameSize, TextSize As New SizeF
        Dim Font_Caption As New Font("Comic Sans MS", 12, FontStyle.Underline _
          Or FontStyle.Bold)
        Dim font_Text As New Font(Me.lstSongs.Font, FontStyle.Regular)
        NameSize = e.Graphics.MeasureString("Überschrift", Font_Caption)
        e.Graphics.DrawString("Überschrift", Font_Caption, Brushes.Black, ( _
          Breite / 2) - (NameSize.Width / 2), 25)
        ZeilenHöhe = 30 + NameSize.Height
        For i As Integer = 0 To Me.lstSongs.Items.Count - 1
            TextSize = e.Graphics.MeasureString((Me.lstSongs.Items( _
              i).ToString), font_Text)
            e.Graphics.DrawString(Me.lstSongs.Items(i).ToString, font_Text, _
            Brushes.Black, X + 25, ZeilenHöhe)
            ZeilenHöhe = ZeilenHöhe + TextSize.Height
            If ZeilenHöhe >= (Höhe - TextSize.Height) Then
                index = i
                bolfertig = True
                e.HasMorePages = True
                Exit For
            End If
        Next
        If Not index = 0 Then
 
            e.Graphics.DrawString("Überschrift", Font_Caption, Brushes.Black, ( _
              Breite / 2) - (NameSize.Width / 2), 25)
            ZeilenHöhe = 30 + NameSize.Height
            For i As Integer = index To Me.lstSongs.Items.Count - 1
                TextSize = e.Graphics.MeasureString((Me.lstSongs.Items( _
                  i).ToString), font_Text)
                e.Graphics.DrawString(Me.lstSongs.Items(i).ToString, font_Text, _
                Brushes.Black, X + 25, ZeilenHöhe)
                ZeilenHöhe = ZeilenHöhe + TextSize.Height
            Next
            bolfertig = False
        End If
        e.HasMorePages = bolfertig
    End Sub
 
    Public Function OutPutSize(ByVal S As SizeF, ByVal B As Double) As Double
        Dim H As Double
 
        If S.Width > B Then
            H = (S.Width / B) * S.Height
        Else
            H = S.Height
        End If
 
        Return H
    End Function
 
    Private Sub DruckVorschauToolStripMenuItem_Click(ByVal sender As _
      System.Object, ByVal e As System.EventArgs) Handles _
      DruckVorschauToolStripMenuItem.Click
        Me.PrintPreviewDialog1 = New PrintPreviewDialog
        With Me.PrintPreviewDialog1
            .Document = docToPrint
            .UseAntiAlias = True
            .ShowDialog()
        End With
 
 
    End Sub
 
    Private Sub DruckenToolStripMenuItem1_Click(ByVal sender As System.Object, _
      ByVal e As System.EventArgs) Handles DruckenToolStripMenuItem1.Click
        PrintDialog1.AllowSomePages = True
        PrintDialog1.ShowHelp = True
        PrintDialog1.Document = docToPrint
        Dim result As DialogResult = PrintDialog1.ShowDialog()
        If (result = Windows.Forms.DialogResult.OK) Then
            docToPrint.Print()
        End If
    End Sub
 
#End Region
Vielen Dank vorab

Gruß Christian

Wer Rechtschreibfehler findet darf Sie behalten

alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
ListBox Ausdrucken2.116MadTrinity04.01.07 07:33
Re: ListBox Ausdrucken1.685vbtricks05.01.07 16:49
Re: ListBox Ausdrucken1.194MadTrinity05.01.07 17:01
Re: ListBox Ausdrucken2.120vbtricks10.09.07 17:10

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-2025 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