打印功能探求之路一

 说在前面的话:

对于这块功能可能每一个公司都要用到,这次自己整理的资料来源于 自己的经历过程,网络资料的查找以及别人写的代码

如有不对之处请指教 本人也是初学者 呵呵

一般用到的控件就是3个  Button ,printDocument1,printPreviewDialog1

为了大家有个整体的印象,下面给大家一段来自别人的代码 写的很详细

写在前面:.Net有打印件,但是,要使用也不是很容易的,找西找都没找到一个合适的例子来问题,那几个控件怎用也不清楚。于是笔者小了打印预览功能,并提供了打印预览Demo供大家参考,仅仅使用PrintDocumentPrintPreviewDialog两个控件,并合非常简单的代码实现明的是,打印功能是要自己写,也就是要GUI程的,而不是只一个控件的引用打印件,件就会自己打印出来。效果
GUI
程序部分所做的工作是,取表示距以内的面部分的矩形区域,然后按一定的大小Size小,画一个色的方框,再区域小,画字体。
 

 

 

界面操作
新建一个Form,拖入一个Button(默命名button1),从打印件那里,拖入一个PrintDocument控件(默命名printDocument1),一个PrintPreviewDialog控件(默命名printPreviewDialog1),printPreviewDialog1DocumentprintDocument1。然后button1Click事件,双,自生成方法button1_Click(object sender, EventArgs e)printDocument1PrintPage事件,双,自生成方法printDocument1_PrintPage

测试
程序运行后,点button1printPreviewDialog1的展示,这时候,生成效果中的主窗口和按钮栏,不区域是空的。接着,加printDocument1_PrintPage方法,置白色区域的形和字体。DrawRectangle方法画方形,然后DrawString方法画字符,注意到在两个事物的程中,其所在区域(Rectangle)是化的,使用Inflate整区域大小,个函数原意是放大指定的大小,而如果大小是数是,也就是小指定的大小了。
   
public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }
        private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            //
Graphics

            Graphics g = e.Graphics;
            Pen _pen = new Pen(Color.Red);
            Rectangle rect = e.MarginBounds;
            //
小区域
            rect.Inflate(new Size(-100, -100));
            g.DrawRectangle(_pen, rect);
            Font _font = new Font(new FontFamily("
宋体"), 100);
            rect.Inflate(new Size(-100, -10));
            g.DrawString("
打印测试
", _font, Brushes.Blue, rect);
            e.HasMorePages = false;
            //

            _font.Dispose();
            _pen.Dispose();
        }

        private void button1_Click(object sender, EventArgs e)
        {
            //
预览对话

            this.printPreviewDialog1.ShowDialog();
        }
    }

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值