Newsgroup: it.comp.lang.visual-basic
Titolo: printdocument

Ciao raga avrei bisogno di stampare una winform e ho letto il seguente
documento 
http://www.dotnethell.it/articles/PrintWindowsForms.aspx
solo che essendo quasi alle prime armi nn riesco a ottenere il risultato
voluto (ovvero la stampa di un form completo di 2 textbox)....
Ho capito che l'oggetto che comanda tutto e printdocument, sapete
consigliarmi qualche lettura online sul seguente argomento, o al massimo mi
date voi un pčaio di direttive....grazie ciao

 date voi un pèaio di direttive....grazie ciao
Guida in linea:
classe PrintDialog
classe PrintPreviewDialog
classe PrintDocument
classe PageSetupDialog
oltre all'informativa è presente codice d'esempio.
Per curiosità ho letto l'esempio linchato,
non mi sembra che aiuti molto a stampare una form.
Di seguito un esempio appena costruito.
Prendilo come aiuto di partenza,
per l'arrivo c'è tanta strada da fare.
Buon cammino.
<Esempio con Codice>
Costruzione classe di nome Class_Print_Form
(se chiamata con altro nome, non viene garantito il risultato)
Imports System.Drawing
Public Class Class_Print_Form
    Inherits System.Drawing.Printing.PrintDocument
    Dim f_form As System.Windows.Forms.Form
'Costruttore
    Sub New(ByVal frm As System.Windows.Forms.Form)
        f_form = frm
        callPrint()
    End Sub
'Un metodo
    Private Sub callPrint()
        AddHandler Me.PrintPage, AddressOf Me.Class_Print_Form_PrintPage
        Dim ppd As New System.Windows.Forms.PrintPreviewDialog
        ppd.Document = Me
        ppd.ShowDialog()
    End Sub
'Evento
'Nell'evento vengono gestiti gli oggetti Button, Label e TextBox
'Per altri, comportarsi di conseguenza
    Private Sub Class_Print_Form_PrintPage(ByVal sender As Object, ByVal e
As System.Drawing.Printing.PrintPageEventArgs) Handles MyBase.PrintPage
        Dim c As Control
        Dim f As New Font("Arial", 8, FontStyle.Regular)
        Dim pen As New Pen(Color.Black, 2)
        e.Graphics.DrawRectangle(pen, 10, 10, f_form.Width, f_form.Height)
        For Each c In f_form.Controls
            If TypeOf c Is TextBox OrElse TypeOf c Is Button OrElse TypeOf c
Is Label Then
                e.Graphics.DrawRectangle(pen, c.Left, c.Top, c.Width + 10,
c.Height + 10)
                e.Graphics.DrawString(c.Text, f, Brushes.BlueViolet, c.Left
+ 12, c.Top + 12)
            End If
        Next
    End Sub
End Class
'Dalla form cui si intende visualizzare l'anteprima di stampa:
Dim p As New Class_Print_Form(Me)
</Esempio con Codice>
Ave
giuseppeD
---
CCR

 per l'arrivo c'č tanta strada da fare.


Ti ringrazio per i consigli solo che la mia versione di .Net č senza guida
in linea, proverň a guardare per il momento il tuo esempio....
oppure se ti va e hai tempo potresti mandarmi via mail (
jh4...@email.it
) la
parte di guida in linea concernente printdocument al limite anche con
qualche esempio...grazie ancora

 qualche esempio...grazie ancora
Oggi è domenica e bisogna essere buoni.
(anche se non ho ancora mandato giù il fatto che mi hanno declassato come
santo e tolto dalle festività)
Indi:
ti consiglio di abbandonare il fornitore hard, e sceglierne uno soft.
Per cui:
senza la guida in linea si resta al palo e conviene cambiare mestiere.
Poscia:
puoi consultare la guida in linea in diretta:
http://msdn.microsoft.com/library/
Ave
giuseppeD
---
CCR