原創|其它|編輯:郝浩|2012-07-05 21:47:27.000|閱讀 916 次
概述:上一篇文章我們主要介紹TeeChart Pro .Net 的3D圖表顯示模式,本文主要介紹如何打印Teechart圖表。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
上一篇文章我們主要介紹TeeChart Pro .Net 的3D圖表顯示模式,本文主要介紹如何打印Teechart圖表。
TeeChart Pro提供了標準打印方法,使其按原本的樣式打印Onscreen圖表。
簡單打印指令
運用Print方法打印圖表。這個方法可以像屏幕上顯示的一樣將圖表打印出來:
[C#]
tChart1.Printer.Print();
[VB.Net]
TChart1.Printer.Print()
打印方向
在默認時即使沒有定義Print方法,您也可以通過設定布爾型的 landscape參數來實現橫向與縱向打印。在打印完成后,Orientation的默認值將會再一次生效。Orientation默認值可通過設定Landscape屬性(設為true為橫向,false為縱向)來進行修改:
[C#]
tChart1.Printer.Landscape = true;
tChart1.Printer.Print();
[VB.Net]
TChart1.Printer.Landscape = True
TChart1.Printer.Print()
打印預覽
PrintPreview窗口將會顯示圖表打印出來的樣式。您可以在Print Preview窗口中修改打印參數。調用PrintPreview的方法如下所示:
[C#]
tChart1.Printer.Preview();
[VB.Net]
TChart1.Printer.Preview()
黑白打印
在使用黑白打印機進行打印時,您應注意將圖表的顏色轉換為黑白色調可易于識別。為了方便,您可以在圖表Series上添加格式刷以便在打印時更易于區分Series。
您也可以通過設定Grayscale屬性將黑白報表打印為彩色報表。
[C#]
tChart1.Printer.Grayscale = true;
tChart1.Printer.Print(true);
[VB.Net]
TChart1.Printer.Grayscale = True
TChart1.Printer.Print(True)
打印多頁報表
使用BeginPrint() 和EndPrint()將報表傳送到打印機可避免溢出。BeginPrint()和EndPrint()是用來開始和結束打印機的工作。多張圖表可以在同一頁/打印任務中完成,同時還包括用戶自定義的輸入。
Example (Prints 2 Charts to a page):
[C#]
private void button1_Click(object sender, System.EventArgs e) {
tChart1.Printer.BeginPrint();
tChart1.Printer.Print(tChart2.Chart,new Rectangle(100,10,300,200));
tChart1.Printer.Print(new Rectangle(100,300,300,200));
tChart1.Printer.EndPrint();
}
[VB.Net]
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TChart1.Printer.BeginPrint()
TChart1.Printer.Print(TChart2.Chart, New Rectangle(100, 10, 300, 200))
TChart1.Printer.Print(New Rectangle(100, 300, 300, 200))
TChart1.Printer.EndPrint()
End Sub
在同一頁上進行多張圖表的打印預覽
現在越來越多的圖表都支持打印預覽功能。可以通過設定Print方法的Rectangle來控制圖表的位置。
例如 (打印預覽兩張圖表):
[C#]
private void button1_Click(object sender, System.EventArgs e) {
tChart1.Printer.BeginPrint();
tChart1.Printer.Print(tChart2.Chart,new Rectangle(100,10,300,200));
tChart1.Printer.Print(new Rectangle(100,300,300,200));
tChart1.Printer.Preview();
}
[VB.Net]
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TChart1.Printer.BeginPrint()
TChart1.Printer.Print(TChart2.Chart, New Rectangle(100, 10, 300, 200))
TChart1.Printer.Print(New Rectangle(100, 300, 300, 200))
TChart1.Printer.Preview()
End Sub
圖表打印與其他打印混合輸出
使用ChartPrint()事件可將TeeChart打印與非圖表打印混合輸出
以下的示例獲取了TeeChart Headers的文本,并在同一頁中用兩個TChart對象來進行打印:
[C#]
private void button1_Click(object sender, System.EventArgs e) {
tChart1.Printer.BeginPrint();
tChart1.Printer.Print(tChart2.Chart,new Rectangle(100,10,300,200));
tChart1.Printer.Print(new Rectangle(100,300,300,200));
tChart1.Printer.EndPrint();
}
private void tChart1_ChartPrint(object sender, System.Drawing.Printing.PrintPageEventArgs e) {
e.Graphics.DrawString("Chart: "+((Steema.TeeChart.ChartPrintJob)sender).Chart.Header.Text,
this.Font,new SolidBrush(Color.Black),100,((Steema.TeeChart.ChartPrintJob)sender).ChartRect.Bottom+10);
}
[VB.Net]
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
TChart1.Printer.BeginPrint()
TChart1.Printer.Print(TChart2.Chart, New Rectangle(100, 10, 300, 200))
TChart1.Printer.Print(New Rectangle(100, 300, 300, 200))
TChart1.Printer.EndPrint()
End Sub
Private Sub TChart1_ChartPrint(ByVal sender As Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles TChart1.ChartPrint
e.Graphics.DrawString("Chart: " & (CType(sender, Steema.TeeChart.ChartPrintJob)).Chart.Header.Text, _
Me.Font, New SolidBrush(Color.Black), 100, (CType(sender, Steema.TeeChart.ChartPrintJob)).ChartRect.Bottom + 10)
End Sub
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網