Partager via


Impression du graphique (contrôles Chart)

Dans le contrôle Chart pour Windows Forms, vous pouvez imprimer l'image du graphique. Pour ce faire, utilisez la propriété Printing du contrôle Chart. Cet objet imprime tous les éléments du contrôle Chart qui figurent dans la vue de données actuelle, à l'exception des barres de défilement.

Vous pouvez appeler la boîte de dialogue Imprimer ou effectuer l'impression en arrière-plan. Dans l'objet Printing, la propriété PrintDocument vous permet de définir des propriétés d'impression, comme les marges des pages.

Impression personnalisée

Pour imprimer l'image du graphique dans un document qui contient d'autres éléments de document, appelez la méthode PrintPaint dans un objet PrintPageEventHandler. Vous devez passer à la méthode PrintPaint la propriété Graphics de l'objet PrintPageEventArgs, avec un objet Rectangle qui définit la position de l'image du graphique dans le document.

Le code suivant illustre l'impression d'un document avec une ligne de texte, l'image du graphique, puis une autre ligne de texte.

' Create new PrintDocument 
Dim pd As New System.Drawing.Printing.PrintDocument() 
' Add the event handler, and then print 
AddHandler pd.PrintPage, AddressOf pd_PrintPage 
' Print the document 
pd.Print() 
... 
Private Sub pd_PrintPage(ByVal sender As Object, ByVal ev As PrintPageEventArgs) 
   ' Create and initialize print font 
   Dim printFont As New System.Drawing.Font("Arial", 10) 
   ' Create Rectangle structure, used to set the position of the chart 
   Dim myRec As New System.Drawing.Rectangle(10, 30, 150, 150) 
   ' Draw a line of text, followed by the chart, and then another line of text 
   ev.Graphics.DrawString("Line before chart", printFont, Brushes.Black, 10, 10) 
   chart1.Printing.PrintPaint (ev.Graphics, myRec) 
   ev.Graphics.DrawString("Line after chart", printFont, Brushes.Black, 10, 200) 
End Sub
// Create new PrintDocument 
System.Drawing.Printing.PrintDocument pd = new System.Drawing.Printing.PrintDocument(); 
// Add a PrintPageEventHandler for the document 
pd.PrintPage += new PrintPageEventHandler(pd_PrintPage); 
// Print the document 
pd.Print(); 
...
private void pd_PrintPage(object sender, PrintPageEventArgs ev)
{
   // Create and initialize print font 
   System.Drawing.Font printFont = new System.Drawing.Font("Arial", 10); 
   // Create Rectangle structure, used to set the position of the chart Rectangle 
   myRec = new System.Drawing.Rectangle(10, 30, 150, 150); 
   // Draw a line of text, followed by the chart, and then another line of text 
   ev.Graphics.DrawString("Line before chart", printFont, Brushes.Black, 10, 10); 
   chart1.Printing.PrintPaint (ev.Graphics, myRec); 
   ev.Graphics.DrawString("Line after chart", printFont, Brushes.Black, 10, 200); 
}

Voir aussi

Autres ressources

Utilisation de contrôles Chart