vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 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
Drucken 
Autor: lighty
Datum: 29.05.06 18:12

Servus!

Ich möchte z.B. eine ListBox ausdrucken.

Wie bekomme ich es gebacken die Zeile pro "Blatt" zu berechnen?

Hier mal mein Code:
(ich habe 100 Items in der ListBox)

       Dim rect As New Rectangle( _
         PrintDocument1.DefaultPageSettings.Margins.Left, _
         PrintDocument1.DefaultPageSettings.Margins.Top, 0.0, 0.0)
        Dim Line As Integer = 1
        Dim Text As String = ListBox1.Items(0).ToString
        Dim size1 As SizeF = e.Graphics.MeasureString(Text, Me.Font)
 
        For i As Integer = i_line To ListBox1.Items.Count - 1 ' Hier steckt 
        ' mein Problem...                                                       
        '                                                       ' wieviel _
        Zeilen?
            If i > ListBox1.Items.Count - 1 Then
                Exit For
            End If
 
            If i <= ListBox1.Items.Count - 1 Then
                Dim strout As String = ListBox1.Items(i).ToString
                Dim size As SizeF = e.Graphics.MeasureString(strout, _
                  ListBox1.Font)
 
                rect.Width = size.Width
                e.Graphics.DrawString(strout, ListBox1.Font, Brushes.Black, _
                  rect.X, rect.Y)
                rect.Y += size.Height
                If e.MarginBounds.Height < rect.Y + size.Height Then
                    e.HasMorePages = True
                    i_line = i + 1
                    Exit For
                Else
                    e.HasMorePages = False
                    i_line = 0
                End If
 
            End If
 
        Next
        If ListBox1.Items.Count - 1 > i_line Then
        Else
        End If
Ich habe also vor der Schleife das 1. Item der ListBox "vermessen" und überprüfe nun wie oft die Höhe auf das "Blatt" passt.
Diese Methode bringt nur nix wenn irgend ein Item mal größer oder kleiner als der 1. wird.

Hat da jemand ne Idee?
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Drucken763lighty29.05.06 18:12
Re: Drucken604Moderatorralf_oop29.05.06 18:38
Re: Drucken440lighty29.05.06 18:53
Re: Drucken460Moderatorralf_oop29.05.06 18:58

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