你的位置:首页 > ASP.net教程

[ASP.net教程]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       try12       {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         else28         {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       }

View Code
 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     }

View Code

动态获得控件

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

View Code

 

前台代码