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);
        }

时间: 2024-08-18 16:09:19

winform datagridview 打印的相关文章

在WinForm中打印DataGridView

PrintDataGridView.cs using System;using System.Collections.Generic;using System.Text;using System.Drawing;using System.Data;using System.Data.SqlClient;using System.Drawing.Printing;using System.Windows.Forms; namespace ManagerBLL{ public class Print

C# winform dataGridView

1 private void btnConn_Click(object sender, EventArgs e) 2 { 3 //定义连接字符串 4 string constr = "server=.;database=DBTest;uid=sa;pwd=sa;"; 5 SqlConnection con = new SqlConnection(constr); 6 try 7 { 8 con.Open(); 9 SqlCommand cmd = new SqlCommand(&quo

C# WinForm DataGridView界面设计小技巧

在窗口中表格是非常常见的数据显示形式,所以界面的展示效果非常重要,通过多次的使用之后发现C# WinForm DataGridView控件默认的显示样式非常之反人类,不过好在可视化操作只需几个简单的属性修改就能得到很好的效果. 下面请看生成的默认属性的DataGridView显示: 非常之反人类的表格. 开始修改下面几个通过名字就能够读懂的属性(当然是通过VS属性窗口修改,也可以在初始化代码中手动修改DataGridView的属性): AllowUserToAddRows=False; //不同

WinForm DataGridView分页功能

WinForm 里面的DataGridView不像WebForm里面的GridView那样有自带的分页功能,需要自己写代码来实现分页,效果如下图: 分页控件  .CS: 1 using System; 2 using System.Collections.Generic; 3 using System.ComponentModel; 4 using System.Data; 5 using System.Drawing; 6 using System.Linq; 7 using System.T

[转]WinForm DataGridView 绑定泛型List(List&lt;T&gt;)/ArrayList不显示的原因和解决

背景:无意间遇到了一个不大不小的问题,希望对一些遇到的人有所帮助! 一.问题 WinForm DataGridView 绑定泛型List (List<T>)/ArrayList不显示,UI 代码如下: using System; using System.Collections.Generic; using System.Data; using System.Data.OleDb; using System.IO; using System.Windows.Forms; namespace W

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

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

c# winform DataGridView单击选中一整行,只能单选,不能选择多行,只能选择一行

c# winform DataGridView单击选中一整行,只能单选,不能选择多行,只能选择一行 设置DataGridView的属性SelectionMode为FullRowSelect?这样就使DataGridView不是选择一个字段,而是选择一整行了? 设置DataGridView的属性MultiSelect为false?这样就使DataGridView不能够选择多行,只能选择一行了 想得到某列的值是要判断DataGridView是否有选中的行 if (dataGridView1.Sele

[WinForm]DataGridView列头右键菜单

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

C# winform datagridview 内嵌控件值改变后立即触发事件,而不需要离开该单元格时才触发,此时需要用到dgv_CurrentCellDirtyStateChanged事件

以下是参考代码 //datagridview内嵌控件值修改事件 private void dgv_CurrentCellDirtyStateChanged(object sender, EventArgs e) { if (dgv.IsCurrentCellDirty) { dgv.CurrentCellDirtyStateChanged -= dgv_CurrentCellDirtyStateChanged; dgv.CommitEdit(DataGridViewDataErrorContex