winform 打印小票

后台代码

 1   panPrintContent.Visible = true;
 2             var strlPrinterMode = "";
 3
 4             this.pageSetupDialog1.PageSettings.Margins.Left = 1;
 5             this.pageSetupDialog1.PageSettings.Margins.Top = 1;
 6             this.pageSetupDialog1.PageSettings.Margins.Right = 21;
 7             this.pageSetupDialog1.PageSettings.Margins.Bottom = 21;
 8             panPrintContent.Visible = true;
 9
10             //打印设置
11             try
12             {
13                 string sqls = "select PrinterMode from User_Org where UserID=‘" + DBCommonServer.strUserName + "‘ and OID=‘" + DBCommonServer.strOrgId + "‘ ";
14                 DataTable dt1 = helps.GetDataTable(sqls);
15                 if (dt == null)
16                 {
17                     return;
18                 }
19                 if (dt1.Rows.Count > 0)
20                 {
21                     strlPrinterMode = dt1.Rows[0][0].ToString();
22                 }
23                 if (strlPrinterMode == "0")
24                 {
25                     this.printPreviewDialog1.ShowDialog();
26                 }
27                 else
28                 {
29                     for (int i = 0; i < Convert.ToInt32(strlPrinterMode); i++)
30                     {
31
32                         this.printDocument1.Print();
33                     }
34                 }
35             }
36             catch (Exception)
37             {
38                 MessageBox.Show("您好!您的电脑有可能打印服务没有启动或是没有安装打印机。"
39                                  + Environment.NewLine + Environment.NewLine + "请先启动打印服务或是安装打印机!");
40             }

 1  /// <summary>
 2        /// 打印内容
 3        /// </summary>
 4        /// <param name="sender"></param>
 5        /// <param name="e"></param>
 6         private void printDocument1_PrintPage_1(object sender, System.Drawing.Printing.PrintPageEventArgs e)
 7         {
 8             ////打印内容 为 局部的 this.groupBox1
 9             Bitmap _NewBitmap = new Bitmap(this.panPrintContent.Width, this.panPrintContent.Height);
10             this.panPrintContent.DrawToBitmap(_NewBitmap, new Rectangle(0, 0, _NewBitmap.Width, _NewBitmap.Height));
11             e.Graphics.DrawImage(_NewBitmap, 0, 0, _NewBitmap.Width, _NewBitmap.Height);
12         }

动态获得控件

 1   int iheight = iLabHeight * i;
 2                     Label LlabPrintPayType = new Label();
 3                     LlabPrintPayType.Name = "LlabPrintPayType" + i;
 4                     //  LlabPrintPayType.Location = new Point(ilabPrintPayType_X, ilabPrintPayType_Y + iheight);
 5                     LlabPrintPayType.Location = new Point(25,i*20+20);
 6                     LlabPrintPayType.Text = dtlistPay.Rows[i]["付款方式名称"].ToString() + (dtlistPay.Rows[i]["卡号"].ToString() == "" ? "" : "(" + dtlistPay.Rows[i]["卡号"].ToString() + ")");
 7                     LlabPrintPayType.Height = 20;
 8                     panFkfs.Controls.Add(LlabPrintPayType);
 9                     Label LlabPrintCost = new Label();
10                     LlabPrintCost.Name = "LlabPrintCost" + i;
11                     LlabPrintCost.Location = new Point(170, i * 20 + 20);
12                     string strPrintCost = decimal.Round(Convert.ToDecimal(dtlistPay.Rows[i]["金额"].ToString()), 2, MidpointRounding.AwayFromZero).ToString();

前台代码

时间: 2024-11-08 01:52:57

winform 打印小票的相关文章

C# 收银机顾显(客显)及打印小票(58热敏打印机)

最近做winform收银机,设计顾显及打印小票总结. 1.顾显(串口COM1) 只涉及到总计,所以只是简单的功能. public static ClientDisplayResult Display(decimal total, bool isClear=false) { var result = new ClientDisplayResult(); string[] ports = SerialPort.GetPortNames(); if (ports.Length == 0) { resu

Winform 打印PDF顺序混乱,获取打印队列

原文:Winform 打印PDF顺序混乱,获取打印队列 工作中PDF打印顺序混乱着实让我疼痛了好久,其实决绝方法非常简单,但没有想到这个点子的时候确实让我走了很多弯路 这里文章写出来并不是为了炫耀什么,只是觉得发现些好东西就分享出来而已,同时也做个记录,方便以后查找 开始正文 既然要解决打印顺序混乱,那么必须先要实现打印PDF功能,实现PDF打印的方法很多,网上随便一搜就可以找到,这里我贴上自己的打印方法,其实也是网上找到的,稍稍做了修改 Process proc = new Process()

iOS Bluetooth 打印小票(二)

在上一篇中介绍了打印小票所需要的命令,这一篇介绍Bluetooth连接蓝牙和打印小票的全过程. CoreBluetooth的封装 因为CoreBluetooth中的代理太多,而每一次操作又比较依赖上一次操作的结果,方法又比较零散,所以我做了粗略封装,把代理改成了block方式回调. 1.获取蓝牙管理单例 HLBLEManager *manager = [HLBLEManager sharedInstance]; __weak HLBLEManager *weakManager = manager

C# winform打印总结 z

http://blog.csdn.net/jing_xin/article/details/41444063 针对BEIYANG收据打印机 BTP-R580测试通过. 操作说明:http://www.docin.com/p-395110672.html 1.一般的打印 static Font printFont; //打印使用的字体         public static void PrintEventPage(object sender, PrintPageEventArgs e)    

打印小票

准备: 1.Lodop6.203_CLodop 2.pdffactory pro 3.谷歌浏览器 <script> $(document).ready(function(){ $("#print").click(function(){ var value=<?=$_GET['id']?>; /* $.ajax({ url:'__PUBLIC__/getid.php', type:'get', dataType:'json', data:{value:value}

模拟打印小票(支持暂停功能)

public class MainFrame extends JFrame { private JButton printButton = new JButton("打印"); private JButton suspendButton = new JButton("暂停"); private JLabel printText = new JLabel("模拟小票打印"); private JTextArea printTextArea = ne

6.30 winform 打印

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.Text; 8 using System.Windows.Forms; 9 10 namespace _6._30_下午打印 11 { 12 public partial

winform 打印

pageSetupDialog 打印设置,和对话框控件差不多的套路,把控件拖到窗口中后,会在下方显示, 然后在制作的菜单中找到打印设置,双击进入点击事件写代码 按照之前的套路, DialogResult drr = pageSetupDialog1.ShowDialog(); if (drr == DialogResult.OK) { } 执行的时候会报错,,就是说问题出现在页面设置,document(类似于一个文档的对象) 在打开打印设置的对话框之前要先告诉它要设置的是什么内容,才能让他把页面

【2017-05-03】winform打印控件、事件对象和事件数据、MDI窗体容器

一.打印控件 第一步先把打印对象搞出来. - printDocument    打印对象(将要打印的内容放到该对象里,从该对象里取内容打印) 设置他的PrintPage事件(对于要打印的每一页触发一次) - pageSetupDialog 打印设置对话框 - printPreviewDialog 打印预览对话框 - printPreviewControl  打印预览控件. 只需要把预览对象给他设置上就好 - printDialog  打印对话框 打印界面里面是否禁用页面范围.打印到文件等从Pri