Partilhar via


Impressão de gráfico

No gráfico controle Formulários do Windows, você pode imprimir a imagem do gráfico. Para fazer isso, use o controle de gráfico Printing propriedade. Esse objeto imprime elementos de todo o gráfico do controle na exibição de dados atual, exceto para as barras de rolagem.

Você pode chamar a caixa de diálogo de impressão ou imprimir em segundo plano. No Printing objeto, o PrintDocument propriedade permite que você defina propriedades de impressão, como margens da página.

Impressão personalizada

Para imprimir a imagem do gráfico em um documento que contém outros elementos do documento, invocar o PrintPaint método dentro de uma PrintPageEventHandler. Você deve passar para o PrintPaint método o Graphics propriedade o PrintPageEventArgs objeto, juntamente com um Rectangle objeto que define a posição da imagem de gráfico no documento.

O código a seguir demonstra como imprimir um documento com uma linha de texto, em seguida, a imagem de gráfico e outra linha de texto.

' 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); 
}

Consulte também

Outros recursos

Usando controles de gráfico