要开始学习本教程,请启动Microsoft Visual Studio并创建一个新的Windows Forms应用程序或打开一个现有应用程序,然后运行Toolbox并将实现IPrintable接口所需控件拖放到窗体上。

接下来,您可以将控件绑定到数据或手动填充它。
在运行时自定义打印选项
IPrintable接口允许您自定义打印设置并使用 PrintableComponentLink 打印控件,以下代码演示了如何创建 PrintableComponentLink、将控件分配给其 PrintableComponentLinkBase.Component 属性、调整其打印设置以及打印控件。
C#
using DevExpress.LookAndFeel;using DevExpress.XtraEditors;using DevExpress.XtraPrinting;using DevExpress.XtraPrinting.Links;using DevExpress.XtraPrintingLinks;//...public partial class Form1 : XtraForm {//...private void gridControl1_Load(object sender, EventArgs e) {PreviewPrintableComponent(gridControl1, gridControl1.LookAndFeel);}void PreviewPrintableComponent(IPrintable component, UserLookAndFeel lookAndFeel) {// Create a link that will print a control.PrintableComponentLink link = new PrintableComponentLink() {PrintingSystemBase = new PrintingSystemBase(),Component = component,Landscape = true,PaperKind = PaperKind.A5,Margins = new Margins(20,20,20,20)};// Show the report.link.ShowRibbonPreview(lookAndFeel);}}
VB.NET
Imports DevExpress.LookAndFeelImports DevExpress.XtraEditorsImports DevExpress.XtraPrintingImports DevExpress.XtraPrinting.LinksImports DevExpress.XtraPrintingLinks'...Public Partial Class Form1Inherits XtraForm'...Private Sub gridControl1_Load(sender As Object, e As EventArgs)PreviewPrintableComponent(gridControl1, gridControl1.LookAndFeel)End SubPrivate Sub PreviewPrintableComponent(component As IPrintable, lookAndFeel As UserLookAndFeel)' Create a link that will print a control.Dim link As New PrintableComponentLink() With { _.PrintingSystemBase = New PrintingSystem(), _.Component = component, _.Landscape = True, _.PaperKind = PaperKind.A5, _.Margins = New Margins(20, 20, 20, 20) _}' Show the report.link.ShowRibbonPreview(lookAndFeel)End SubEnd Class
在运行时向 表添加自定义信息
创建 表页眉或者页脚来向 表添加自定义信息,订阅CreateReportHeader事件来添加 表头,如下所示。
C#
using DevExpress.LookAndFeel;using DevExpress.XtraEditors;using DevExpress.XtraPrinting;using DevExpress.XtraPrinting.Links;using DevExpress.XtraPrintingLinks;//...public partial class Form1 : XtraForm {//...void PreviewPrintableComponent(IPrintable component, UserLookAndFeel lookAndFeel) {// Create a link that will print a control.//...// Subscribe to the CreateReportHeaderArea event used to generate the report header.link.CreateReportHeaderArea += link_CreateReportHeaderArea;// Show the report.link.ShowRibbonPreview(lookAndFeel);}}
VB.NET
Imports DevExpress.LookAndFeelImports DevExpress.XtraEditorsImports DevExpress.XtraPrintingImports DevExpress.XtraPrinting.LinksImports DevExpress.XtraPrintingLinks'...Public Partial Class Form1Inherits XtraForm'...Private Sub PreviewPrintableComponent(component As IPrintable, lookAndFeel As UserLookAndFeel)' Create a link that will print a control.'...' Subscribe to the CreateReportHeaderArea event used to generate the report header.AddHandler link.CreateReportHeaderArea, AddressOf Link_CreateReportHeaderArea' Show the report.link.ShowRibbonPreview(lookAndFeel)End SubEnd Class
按如下方式处理 CreateReportHeader 事件。
C#
using System.Drawing;using DevExpress.XtraPrinting;private void link_CreateReportHeaderArea(object sender,CreateAreaEventArgs e) {string reportHeader = "Categories Report";e.Graph.StringFormat = new BrickStringFormat(StringAlignment.Center);e.Graph.Font = new Font("Tahoma", 14, FontStyle.Bold);RectangleF rec = new RectangleF(0, 0, e.Graph.ClientPageSize.Width, 50);e.Graph.DrawString(reportHeader, Color.Black, rec, BorderSide.None);}
VB.NET
Imports System.DrawingImports DevExpress.XtraPrintingPrivate Sub link_CreateReportHeaderArea(ByVal sender As System.Object, _ByVal e As CreateAreaEventArgs) _Handles PrintableComponentLink1.CreateReportHeaderAreaDim reportHeader As String = "Categories Report"e.Graph.StringFormat = New BrickStringFormat(StringAlignment.Center)e.Graph.Font = New Font("Tahoma", 14, FontStyle.Bold)Dim rec As RectangleF = New RectangleF(0, 0, e.Graph.ClientPageSize.Width, 50)e.Graph.DrawString(reportHeader, Color.Black, rec, BorderSide.None)End Sub
下图说明了包含指定打印选项和附加自定义信息的结果 表。

在运行时将 表导出为指定格式
除了打印预览窗口中提供的导出功能外,您还可以通过PrintableComponentLink对象导出 表。
C#
PrintableComponentLink link = new PrintableComponentLink();link.ExportToPdf(@"c:gridcontrol.pdf");
VB.NET
Dim link As New PrintableComponentLink()link.ExportToPdf("c:gridcontrol.pdf")
DevExpress WinForm | 下载试用
DevExpress WinForm拥有180+组件和UI库,能为Windows Forms平台创建具有影响力的业务解决方案。DevExpress WinForms能完美构建流畅、美观且易于使用的应用程序,无论是Office风格的界面,还是分析处理大批量的业务数据,它都能轻松胜任!
更多产品正版授权详情及优惠,欢迎咨询在线客服>>
DevExpress技术交流群4:715863792 欢迎一起进群讨论

标签:
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!