Toon posts:

[vb.net] windows control printen

Pagina: 1
Acties:
  • 292 views sinds 30-01-2008
  • Reageer

Verwijderd

Topicstarter
Ik zit een beetje met een probleem, ik heb een richtextbox met een hoop text, maar ik krijg deze niet uitgeprint. Ik kan hem niet met het voorbeeld van MSDN printen, dan geeft hij een error. MSDN heeft ook een kan en klare print ding, en zelfs die crasht. Weet iemand een manier om een control toch uit te printen.

Ik dacht zelf om hem in een text bestand te zetten en die uit te printen, ook mogelijk met vb.net, maar daarbij geeft hij alweer dezelfde error melding. Ik zit dus zonder ideëen...

  • gorgi_19
  • Registratie: Mei 2002
  • Laatst online: 10:01

gorgi_19

Kruimeltjes zijn weer op :9

Ik zit dus zonder ideëen...
Ik ook.

M'n glazen bol is namelijk kapot. :'( Normaliter kan ik daar een foutmelding en stukje code in zien waar het fout gaat. 't was een hele luxe versie; deze gaf zelfs debuginformatie waar die crashed, met automatsche google links....

* gorgi_19 off naar DiagonAlley

[ Voor 40% gewijzigd door gorgi_19 op 24-07-2003 14:29 ]

Digitaal onderwijsmateriaal, leermateriaal voor hbo


Verwijderd

Topicstarter
gorgi_19 schreef op 24 July 2003 @ 14:26:
[...]

Ik ook.

M'n glazen bol is namelijk kapot. :'( Normaliter kan ik daar een foutmelding en stukje code in zien waar het fout gaat.
oops sorry.. komt eraan, ogenblikje

Verwijderd

Topicstarter
An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in system.drawing.dll

Additional information: Het gegevensgebied dat aan een systeemaanroep is doorgegeven, is te klein
dit is een andere als dat ik net had..
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Dim fileToPrint As System.IO.StreamReader
    Dim printFont As System.Drawing.Font
    Private Sub PrintButton_Click(ByVal sender As Object, ByVal e As EventArgs) Handles _
       PrintButton.Click
        Dim PrintPath As String = System.Environment. _
           GetFolderPath(Environment.SpecialFolder.DesktopDirectory)
           fileToPrint = New System.IO.StreamReader(file)
        printFont = New System.Drawing.Font("Arial", 10)
        PrintDocument1.Print()
        fileToPrint.Close()
    End Sub

    Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As _
       System.Drawing.Printing.PrintPageEventArgs) Handles _
       PrintDocument1.PrintPage
        Dim linesPerPage As Single = 0
        Dim yPos As Single = 0
        Dim count As Integer = 0
        Dim leftMargin As Single = e.MarginBounds.Left
        Dim topMargin As Single = e.MarginBounds.Top
        Dim line As String = Nothing
        linesPerPage = e.MarginBounds.Height / printFont.GetHeight(e.Graphics)
        While count < linesPerPage
            line = fileToPrint.ReadLine()
            If line Is Nothing Then
                Exit While
            End If
            yPos = topMargin + count * printFont.GetHeight(e.Graphics)
            e.Graphics.DrawString(line, printFont, Brushes.Black, leftMargin, _
               yPos, New StringFormat())
            count += 1
        End While
        If Not (line Is Nothing) Then
            e.HasMorePages = True
        End If
    End Sub
dit is de code die ik van internet afhaal..

Verwijderd

Topicstarter
En dit is de url waar ik het vandaan heb:
MSDN

Verwijderd

Topicstarter
An unhandled exception of type 'System.ComponentModel.Win32Exception' occurred in system.drawing.dll

Additional information: Het gegevensgebied dat aan een systeemaanroep is doorgegeven, is te klein
dit is vanaf mijn vorige post, de enigste foutmelding die ik krijg, het maakt niet uit met wat ik doe. kan het liggen aan het feit dat ik een heel oud (jaren 80) printer gebruik die op COM1 aangesloten zit?
kan vb.net dit wel aan?

[ Voor 3% gewijzigd door Verwijderd op 24-07-2003 17:31 ]


Verwijderd

Leuk die Nederlandse foutmeldingen: Het gegevensgebied dat aan een systeemaanroep is doorgegeven, is te klein....

Wat zouden ze daar nou mee bedoelen :?

Verwijderd

Topicstarter
Verwijderd schreef op 24 July 2003 @ 18:46:
Leuk die Nederlandse foutmeldingen: Het gegevensgebied dat aan een systeemaanroep is doorgegeven, is te klein....

Wat zouden ze daar nou mee bedoelen :?
idd.. ik snap het dus echt niet. het printen heeft het wel altijd gedaan, maar dan niet via VB.net
[edit]
ik merk ook dat hij helemaal niks meer print met voorbeelden die het eerst wel deden, alles gaat via vb.net...

[ Voor 15% gewijzigd door Verwijderd op 25-07-2003 11:30 ]


Verwijderd

Topicstarter
*kick*

Ben ik weer, ik zit nu weer eens te rotzooien, ik dacht dat het probleem lag een het feit dat de printer aan een netwerk hing. Nu is de printer losgekoppeld van het netwerk en hangt hier aan dit systeem. Maar helaas krijg ik dezelfde foutmelding ;( en ik weet nog steeds niet hoe het komt.

Verwijderd

Topicstarter
Het probleem is na ruim 6 maanden (:D) opgelost.

De printer hadden we ingesteld als Generic/Text-only, hij werkte goed om met bijvoorbeeld Notepad iets te printen. Alleen door een fout van Windows werd hij aangestuurd als standaard IBM printer. Dit is nu veranderd naar een Epson printer, en hij print gewoon mbv. van het script (zie boven).
Pagina: 1