zoukankan      html  css  js  c++  java
  • [转]单据套打WINFORM实现,带预览功能

    本文转自:https://blog.csdn.net/lyflcear/article/details/22795053

    昨天公司要打单子而不是以前的手写

    为了实现这样的功能上网搜索了一下

    http://blog.csdn.net/fwj380891124/article/details/8071801

    这篇文章来入门,不过发现无法实现套打功能,把所有的信息都打出来了

     对代码进行了一定的调整,并且可以预览,去除了预览页面的打印功能

    下面是我写的程序

    1.      新建立一个WINFORM项目

    2.      添加一个panel 做为要打印的内容展示,背景设置为上面的图片

    3.      增加printDocument1,printDialog1,printPreviewDialog1,pageSetupDialog1  Document设置为

    4.      增加三个按钮,及几个textbox

     

     

    [csharp] view plain copy
     
    1. private voidbutton1_Click(object sender, EventArgs e)  
    2.         {  
    3.             this.pageSetupDialog1.ShowDialog();  
    4.         }  
    5.    
    6.         privatevoid button2_Click(objectsender,EventArgs e)  
    7.         {  
    8.             //注意指定其Document(获取或设置要预览的文档)属性  
    9.             this.printPreviewDialog1.Document=this.printDocument1;  
    10.             //ShowDialog方法:将窗体显示为模式对话框,并将当前活动窗口设置为它的所有者  
    11.             this.printPreviewDialog1.PrintPreviewControl.Zoom= 1.0;  
    12.             //将打印按钮重新设置  
    13.             ToolStriptool = this.printPreviewDialog1.Controls["toolStrip1"]asToolStrip;  
    14.             if(tool != null)  
    15.             {  
    16.                 intindexPrint = tool.Items.IndexOfKey("printToolStripButton");  
    17.                 if(indexPrint != -1)  
    18.                 {  
    19.                  tool.Items[indexPrint].Visible = false;  
    20.                 }  
    21.             }  
    22.             this.printPreviewDialog1.ShowDialog();  
    23.         }  
    24.    
    25.         privatevoid button3_Click(objectsender,EventArgs e)  
    26.         {  
    27.             PrintDialogpdia = new PrintDialog();  
    28.              PrintDocumentpdoc =newPrintDocument();  
    29.             pdoc.PrintPage += newPrintPageEventHandler(printDocument_PrintPage);  
    30.             if(pdia.ShowDialog() ==DialogResult.OK)  
    31.             {  
    32.                 pdoc.Print();  
    33.             }  
    34.         }  
    35.    
    36.         privatevoid printDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)  
    37.         {  
    38.             Fontfont = new Font("宋体", 12);  
    39.             Brushbru = Brushes.Black;  
    40.             Imagebitmap = new Bitmap(panel1.BackgroundImage.Width,panel1.BackgroundImage.Height);  
    41.             Graphicsg = e.Graphics;  //先建立画布  
    42.             g.DrawImage(bitmap, 0, 0);  
    43.             intx = 0;//调整位置信息  
    44.             inty = 0;  
    45.             foreach(Control iteminpanel1.Controls)  
    46.             {  
    47.                 if(item is TextBox)  
    48.                 {  
    49.                     Controltx = (itemasControl);  
    50.                     g.DrawString(tx.Text,font,bru, tx.Left + x, tx.Top + y);  
    51.                 }  
    52.             }  
    53.         }  
    54.    
    55.         privatevoid printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)  
    56.         {  
    57.             Fontfont = new Font("宋体", 12);  
    58.             Brushbru = Brushes.Black;  
    59.             Graphicsg = e.Graphics;  //先建立画布  
    60.             intx = 0;  
    61.             inty = 0;  
    62.             g.DrawImage(panel1.BackgroundImage,0, 0);  
    63.             foreach(Control iteminpanel1.Controls)  
    64.             {  
    65.                 if(item is TextBox)  
    66.                 {  
    67.                     Controltx = (itemasControl);  
    68.                     g.DrawString(tx.Text, font,bru, tx.Left + x, tx.Top + y);  
    69.                 }  
    70.             }  
    71.         }  



     为了方便大家改写可去下载项目文件及源代码 

  • 相关阅读:
    ext4.2常用的几种弹框
    oracle的批量操作sql语句
    ztree异步加载树节点
    shiro接口对象介绍
    jquery记住密码
    整合ssm框架
    redis中 Could not get a resource from the pool 异常解决
    redis的安装
    centos下tomcat的安装
    centos下MySQL的安装
  • 原文地址:https://www.cnblogs.com/freeliver54/p/9116555.html
Copyright © 2011-2022 走看看