DevExpress Winform 通用控件打印方法(允许可自定义边距)

DevExpress Winform 通用控件打印方法,包括gridcontrol,treelist,pivotGridControl,ChartControl,LayoutControl...(所有支持打印功能的控件) ,同时允许用户自定义报表标题,报表纸张类型(A4,A3...),报表边距

/// <summary>

        /// 打印功能

        /// </summary>

        /// <param name="panel">打印控件</param>

        /// <param name="title">标题</param>

        /// <param name="pageSize">纸张类型</param>

        /// <param name="margins">边距</param>

        protected virtual void Print(IPrintable panel, string title = null, PaperKind pageSize = PaperKind.A4, System.Drawing.Printing.Margins margins = null)

        {

            PrintingSystem ps = new PrintingSystem();

            CompositeLink link = new CompositeLink(ps);                       PrintableComponentLink printableLink = new PrintableComponentLink() { Component = panel };

            ps.Links.Add(link);

            link.Links.Add(printableLink);

            link.Landscape = true;//横向

            link.PaperKind = pageSize;//设置纸张大小

            if (margins == null)

                margins = new System.Drawing.Printing.Margins(10, 10, 50, 50);

            link.Margins = margins;

            //判断是否有标题,有则设置

            if (!string.IsNullOrEmpty(title))

            {

                PageHeaderFooter phf = link.PageHeaderFooter as PageHeaderFooter;

                phf.Header.Content.Clear();

                phf.Header.Content.AddRange(new string[] { "", title, "" });

                phf.Header.Font = new System.Drawing.Font("宋体", 14, System.Drawing.FontStyle.Bold);

                phf.Header.LineAlignment = BrickAlignment.Center;

                phf.Footer.Content.AddRange(new string[] { "", String.Format("打印时间: {0:g}", DateTime.Now), "" });

            }

            link.CreateDocument(); //建立文档

            ps.PreviewRibbonFormEx.Show();//进行预览

        }

原文地址:https://www.cnblogs.com/xiaoxihebei/p/10755427.html

时间: 2024-08-05 12:55:38

DevExpress Winform 通用控件打印方法(允许可自定义边距)的相关文章

DevExpress Winform 通用控件打印方法(允许可自定义边距) z

DevExpress Winform 通用控件打印方法,包括gridcontrol,treelist,pivotGridControl,ChartControl,LayoutControl...(所有支持打印功能的控件) ,同时允许用户自定义报表标题,报表纸张类型(A4,A3...),报表边距 /// <summary> /// 打印功能 /// </summary> /// <param name="panel">打印控件</param>

delphi附带通用控件安装方法:

附带通用控件安装方法:----------基本安装1.对于单个控件,Componet-->install component..-->PAS或DCU文件-->install;2.对于带*.dpk文件的控件包,File-->Open(下拉列表框中选*.dpk)-->install即可:3.对于带*.bpl文件的控件包,Install Packages-->Add-->bpl文件名即可:4.如果以上Install按钮为失效的话,试试Compile按钮:5.是run t

在DevExpress程序中使用Winform分页控件直接录入数据并保存

一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数据,这种对于字段比较少,而且内容相对比较简单的情况下,效率是比较高的一种输入方式.本篇随笔主要介绍在DevExpress程序中使用GridView直接录入数据并保存的实现,以及使用Winform分页控件来进行数据直接录入的实现操作. 1.在GridView上展示数据 在GridView上展示数据,只

DevExpress的Web控件汉化方法

原文:DevExpress的Web控件汉化方法 项目中用到devexpress的web控件,机器没有安装devexpress控件,直接在项目中引用的dev的dll,项目运行时发现都是英文界面,所以解决汉化问题. 项目中用的是v10.2版本,以此版本为例,其他版本方法应该类似. 步骤如下:   1.从官网下载对应的汉化包,地址:http://www.devexpresscn.com/news/DevExpress-news-94.html,找到对应的版本下载. 2.在下载的汉化文件里找到\Web\

winform上控件太多,绘制时会逐个出现,通常说双缓冲能解决但实际不能解决的问题的解决方法。

protected override CreateParams CreateParams { get { CreateParams cp = base.CreateParams; cp.ExStyle |= 0x02000000; return cp; } } 接着找办法解决500多个控件PAINT缓慢的效能问题,心塞.分类都不想分了,就这样. winform上控件太多,绘制时会逐个出现,通常说双缓冲能解决但实际不能解决的问题的解决方法.,布布扣,bubuko.com

Winform状态栏控件中Label靠右显示的方法

设计器: 代码: 在Form_Load事件中添加 : statusStripMain.LayoutStyle= ToolStripLayoutStyle.HorizontalStackWithOverflow; lbl单位.Alignment = ToolStripItemAlignment.Right; lblCompany.Alignment = ToolStripItemAlignment.Right; lbl联系电话.Alignment = ToolStripItemAlignment.

C# winform datagridview 无需点击两次即可编辑内嵌控件的方法和删除默认的空行的方法

? 1 2 3 4 //点击一下即可对DataGridView中内嵌控件进行编辑,不需要二次点击 dgv.EditMode =DataGridViewEditMode.EditOnEnter; //DataGridView无默认行 dgv.AllowUserToAddRows = false; C# winform datagridview 无需点击两次即可编辑内嵌控件的方法和删除默认的空行的方法

WinForm实现按名称递归查找控件的方法

本文所述实例主要实现了WinForm实现按名称递归查找控件的功能,在C#项目开发中有一定的应用价值,分享给大家供大家参考借鉴. 关键代码如下: /// <summary> /// 向下递归查找控件 /// </summary> /// <param name="parentControl">查找控件的父容器控件</param> /// <param name="findCtrlName">查找控件名称<

C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法

C# WinForm窗体控件Panel修改边框颜色以及边框宽度方法 1.新建组件这里可以自定义一个Panel控件起名为PanelEx 2.增加一个BoderColor属性和BoderSize属性 1 private Color _BorderColor = Color.Black; 2 3 [Browsable(true), Description("边框颜色"), Category("自定义分组")] 4 public Color BorderColor 5 {