彩票走势图

TeeChart Pro .Net汉化教程六:图表打印

原创|其它|编辑:郝浩|2012-07-05 21:47:27.000|阅读 887 次

概述:上一篇文章我们主要介绍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@pclwef.cn

文章转载自:慧都控件网

为你推荐

  • 推荐视频
  • 推荐活动
  • 推荐产品
  • 推荐文章
  • 慧都慧问
扫码咨询


添加微信 立即咨询

电话咨询

客服热线
023-68661681

TOP