winform实现发票打印功能

版权声明:大道至简,悟在天成。本文为博主原创文章,未经博主允许不得转载。http://blog.csdn.net/fwj380891124 https://blog.csdn.net/fwj380891124/article/details/8071801

         各位博友,好久没有更新博客了,前两天一个交流中的好友研究了一套winform中的打印功能,再此向这位好友【杭州-andy】表示感谢,感谢他提供这么好的素材让大家学习。

         直入主题,实现这个打印功能,只需要3个主要的打印控件,printDocument,printDialog,printPreviewDialog。

先介绍一下整体思路:

        A首先打开VS2005新建项目,为默认的Form1设置你已经做好的发票模板图片为背景。

        B在需要使用动态信息的地方放入TextBox控件,动态显示要打印的信息,当然你用Lable也可以,我这位朋友在开发中使用的是TextBox这里我就用TextBoX来讲了。

        C在PrintDocument控件的PrintPage事件里面编写代码,将整个动态内容结合到背景图片,整合为一张图片,具体代码如下:

         

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
        {
            Graphics g = e.Graphics;   //先建立画布 
            int x = 80;
            int y = 60;
            g.DrawImage(this.BackgroundImage, 50, 50);
            foreach (Control item in this.Controls)
            {
                if (item is TextBox)
                {
                    Control tx = (item as Control);
                    g.DrawString(tx.Text, tx.Font, Brushes.Black, tx.Left + x, tx.Top + y);
                }
            }
        }
        然后在预览按钮Click事件里面添加如下代码:

  //注意指定其Document(获取或设置要预览的文档)属性
            this.printPreviewDialog1.Document = this.printDocument1;
            //ShowDialog方法:将窗体显示为模式对话框,并将当前活动窗口设置为它的所有者
            this.printPreviewDialog1.ShowDialog();

         自此,一个完整的打印功能就实现了,虽然看似简单,但是还是倾注了一些精力,再次感谢Andy提供源码,有需要的朋友可以下载源码观看,源码将在后面上传

         源码下载地址:http://download.csdn.net/detail/fwj380891124/4647497

          强烈建议系统管理员推荐至CSDN首页

         大家有什么好的打印也可以推荐下,大家互相学习,这样我们才能更加强大。Thank You!

没有更多推荐了,返回首页