后台代码
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