Condividi tramite


Procedura: creare processi di stampa standard per Windows Form

Aggiornamento: novembre 2007

Alla base del concetto di stampa in Windows Form c'è il componente PrintDocument, più specificatamente l'evento PrintPage. Tramite la scrittura di codice per la gestione dell'evento PrintPage è possibile specificare il materiale da stampare e la modalità di stampa da utilizzare.

Per creare un processo di stampa

  1. Aggiungere un componente PrintDocument al form.

  2. Scrivere il codice per gestire l'evento PrintPage.

    È necessario codificare la logica di stampa personalizzata. e specificare il materiale da stampare.

    Nell'esempio di codice seguente viene creato un elemento grafico di esempio (un rettangolo rosso) nel gestore eventi PrintPage che viene specificato come materiale da stampare.

    Private Sub PrintDocument1_PrintPage(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
       e.Graphics.FillRectangle(Brushes.Red, New Rectangle(500, 500, 500, 500))
    End Sub
    
    private void printDocument1_PrintPage(object sender, 
    System.Drawing.Printing.PrintPageEventArgs e)
    {
       e.Graphics.FillRectangle(Brushes.Red, 
         new Rectangle(500, 500, 500, 500));
    }
    
    private void printDocument1_PrintPage(Object sender,
    System.Drawing.Printing.PrintPageEventArgs e)
    {
       e.get_Graphics().FillRectangle(Brushes.get_Red(),
          new Rectangle(500, 500, 500, 500));
    }
    
    private:
       void printDocument1_PrintPage(System::Object ^ sender,
          System::Drawing::Printing::PrintPageEventArgs ^ e)
       {
          e->Graphics->FillRectangle(Brushes::Red,
             Rectangle(500, 500, 500, 500));
       }
    

    (Visual C#, Visual J# e Visual C++) Inserire il codice seguente nel costruttore del form per registrare il gestore eventi.

    this.printDocument1.PrintPage += new
       System.Drawing.Printing.PrintPageEventHandler
       (this.printDocument1_PrintPage);
    
    this.printDocument1.add_PrintPage(new
       System.Drawing.Printing.PrintPageEventHandler
       (this.printDocument1_PrintPage));
    
    printDocument1->PrintPage += gcnew
       System::Drawing::Printing::PrintPageEventHandler
       (this, &Form1::printDocument1_PrintPage);
    

    È inoltre possibile scrivere codice per gli eventi BeginPrint e EndPrint, includendo eventualmente un valore integer che rappresenta il numero totale di pagine da stampare e che diminuisce man mano che vengono stampate le pagine.

    Nota:

    È possibile aggiungere un componente PrintDialog al form, per fornire un'interfaccia utente chiara ed efficiente. Impostando la proprietà Document del componente PrintDialog è possibile impostare le proprietà correlate al documento da stampare utilizzato nel form. Per ulteriori informazioni sul componente PrintDialog, vedere Componente PrintDialog (Windows Form).

    Per ulteriori informazioni sulle specifiche relative ai processi di stampa nei Windows Form, incluse le modalità di creazione di un processo di stampa a livello di codice, vedere PrintPageEventArgs.

Vedere anche

Riferimenti

PrintDocument

Altre risorse

Supporto per la stampa in Windows Form