winform datagridview 打印

转载:http://www.cnblogs.com/Irving/archive/2012/10/12/2721666.html

c#实现打印功能

http://www.cnblogs.com/zhcw/archive/2011/11/30/2269083.html

/// <summary>
        /// 打印的按钮
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void btnPrint_Click(object sender, EventArgs e)
        { 

            // printDocument1 为 打印控件
            //设置打印用的纸张 当设置为Custom的时候,可以自定义纸张的大小,还可以选择A4,A5等常用纸型
            this.printDocument1.DefaultPageSettings.PaperSize = new PaperSize("Custum", 500, 300);
            this.printDocument1.PrintPage += new PrintPageEventHandler(this.MyPrintDocument_PrintPage);
            //将写好的格式给打印预览控件以便预览
            printPreviewDialog1.Document = printDocument1;
            //显示打印预览
            DialogResult result = printPreviewDialog1.ShowDialog();
            //if (result == DialogResult.OK)
            //this.MyPrintDocument.Print();
        }

        /// <summary>
        /// 打印的格式
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void MyPrintDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            /*如果需要改变自己 可以在new Font(new FontFamily("黑体"),11)中的“黑体”改成自己要的字体就行了,黑体 后面的数字代表字体的大小
             System.Drawing.Brushes.Blue , 170, 10 中的 System.Drawing.Brushes.Blue 为颜色,后面的为输出的位置 */
            e.Graphics.DrawString("新乡市三月软件公司入库单", new Font(new FontFamily("黑体"),11), System.Drawing.Brushes.Black, 170, 10);
            e.Graphics.DrawString("供货商:河南科技学院", new Font(new FontFamily("黑体"), 8), System.Drawing.Brushes.Blue, 10, 12);
            //信息的名称
            e.Graphics.DrawLine(Pens.Black, 8, 30, 480, 30);
            e.Graphics.DrawString("入库单编号" , new Font(new FontFamily("黑体"), 8), System.Drawing.Brushes.Black, 9, 35);
            e.Graphics.DrawString("商品名称", new Font(new FontFamily("黑体"), 8), System.Drawing.Brushes.Black, 160, 35);
            e.Graphics.DrawString("数量", new Font(new FontFamily("黑体"), 8), System.Drawing.Brushes.Black, 260, 35);
            e.Graphics.DrawString("单价", new Font(new FontFamily("黑体"), 8), System.Drawing.Brushes.Black, 330, 35);
            e.Graphics.DrawString("总金额", new Font(new FontFamily("黑体"), 8), System.Drawing.Brushes.Black, 400, 35);
            e.Graphics.DrawLine (Pens.Black ,8,50,480,50);
            //产品信息
            e.Graphics.DrawString("R2011-01-2016:06:35", new Font(new FontFamily("黑体"), 8), System.Drawing.Brushes.Black, 9, 55);
            e.Graphics.DrawString("联想A460", new Font(new FontFamily("黑体"), 8), System.Drawing.Brushes.Black, 160, 55);
            e.Graphics.DrawString("100", new Font(new FontFamily("黑体"), 8), System.Drawing.Brushes.Black, 260, 55);
            e.Graphics.DrawString("200.00", new Font(new FontFamily("黑体"), 8), System.Drawing.Brushes.Black, 330, 55);
            e.Graphics.DrawString("20000.00", new Font(new FontFamily("黑体"), 8), System.Drawing.Brushes.Black, 400, 55);

            e.Graphics.DrawLine(Pens.Black, 8, 200, 480, 200);
            e.Graphics.DrawString("地址:新乡市河南科技学院信息工程学院", new Font(new FontFamily("黑体"), 8), System.Drawing.Brushes.Black, 9, 210);
            e.Graphics.DrawString("经办人:任忌", new Font(new FontFamily("黑体"), 8), System.Drawing.Brushes.Black, 220, 210);
            e.Graphics.DrawString("服务热线:15083128577", new Font(new FontFamily("黑体"), 8), System.Drawing.Brushes.Black, 320, 210);
            e.Graphics.DrawString("入库时间:"+DateTime.Now .ToString (), new Font(new FontFamily("黑体"), 8), System.Drawing.Brushes.Black, 9, 230);
        }

View Code

 

时间: 2024-09-16 11:00:02

winform datagridview 打印的相关文章

datagridview-C# winform DataGridView中输入内容时候有下拉提示(数据库中表的内容)!!!!!

问题描述 C# winform DataGridView中输入内容时候有下拉提示(数据库中表的内容)!!!!! 如题,有参考代码吗 多谢多谢~~~~~~~~~~~~~在线等 最好是有实例代码的 解决方案 那列设置成combox类型列

c# winform datagridview 跨窗体传值的问题

问题描述 c# winform datagridview 跨窗体传值的问题 图1 是显示从数据库中拿到 datagridview 中的内容 图2是显示的效果 图三是新窗体打开 (已获取选中行ID) 图四 我怎么选中一行 点击修改 然后把选那行的值 全部显示在新窗体上呢? 解决方案 C#_WinForm窗体传值 解决方案二: 你可以创建一个model,这个model的字段就是你要传的参数值,然后如下:add _add=new add(model _model):就可以了.意思就是利用有参呢构造参数

winform 双面打印-winform如何实现双面打印??

问题描述 winform如何实现双面打印?? 有2个form窗体,每个窗体里面有一个表单,如何才能实现点击一次打印,就能将2个窗体里面的表单实现双面打印??(1张纸双面打印)

请教几个winform DataGridView的问题

问题描述 需要使用winform里的DataGridView控件,需要大概以下几点:*从某处读入格式定义数据,有多少列,每列的列名.类型,等等,比如有5列,类型有int,string,float,bool等还有读入若干行数据,比如100行,每行数据有一个key,比如int*自动生成DataGridView的列,显示数据(通过设置DataSource,这些已经完成了,不明白的是下面)*数据源头发生更新,(简单一些,列没有发生变化),就是多了或者少了10行数据,界面上要立刻更新.尝试过更新绑定的Da

DataGridView打印类

作者:http://www.codeproject.com/KB/printing/DGVPrinter.aspx [简单用法]: 1 // 2 // Printing the DataGridView Control 3 // in response to a toolbar button press 4 // 5 private void printToolStripButton_Click(object sender, EventArgs e) 6 { 7 DGVPrinter print

c# winform pdf 打印-求助:C# 怎么将一个winform画面生成一个pdf文件?

问题描述 求助:C# 怎么将一个winform画面生成一个pdf文件? 大家好,本人现在在做一个项目,需要把一个winform画面生成pdf文件,可是在网上查了一些资料,都说的很不全面,请哪位大神看到后帮忙指导一下,最好给出详细步骤,比如要安装什么辅助软件之类的,非常感谢了

C#WinForm DatagridView嵌套一个DatagridView控件

问题描述 在DatagridView单元格里嵌套一个DatagridView 解决方案 解决方案二:嵌套不了.单元格不是容器,里面不能再嵌套别的控件解决方案三:有那么多的第三方控件不用,在这纠结容易不容易.比如Devexpress控件集.解决方案四:可以自定义自己类型的列,参考解决方案五:http://www.devcomponents.com/dotnetbar/SuperDataGridControl.aspx解决方案六:确定要这样吗?感觉可以换个思路

[WinForm]DataGridView列头右键菜单

前言 继续"不误正业" - - #,记录一下.有时候有这样的需求:DataGridView的列头菜单可以选择具体显示哪些列,而数据区域的菜单显示增删改查,这样就需要设置两个菜单了,而DataGridView并没有为列头设置菜单的选项,这里分享一段代码.   声明 欢迎转载,但请保留文章原始出处:)  博客园:http://www.cnblogs.com 农民伯伯: http://over140.cnblogs.com   正文  一.拖拽一个ContextMenuStrip到界面上,设

winform datagridview 多行显示问题

问题描述 在不使用其他控件的前提下,能不能用datagridview做到这样的效果: 解决方案 解决方案二: 解决方案三:引用1楼porschev的回复: 合并单元格...参考.. 例子里的纵向合并是对不同数据行的相同内容进行合并,但我想要的是同条数据行分成两行显示--解决方案四:重绘,有点麻烦解决方案五:在datagridview的列绘制事件中自自编写绘制代码即可