?? testprintdoc.cs
字號:
?using System;
using System.Collections.Generic;
using System.Text;
using System.Drawing;
using System.Data;
using System.Drawing.Printing;
using System.Windows.Forms;
using Youzi.Model;
using Youzi.BLL;
namespace Youzi
{
public class TestPrintDoc:PrintDocument
{
Font font = null;
Pen pen = null;
private string time; //時間
private string []num;
private string year;
private string month;
private string day;
private string RegisterID; //門診號
private string PatientName; //姓名
private string OfficeName; //科室
private string RegisterCost; //掛號費
private string CureCost; //診療費
private string Money; //合計金額(大寫)
private string money; //合計金額(小寫)
private string OperateDate; //操作時間
private string Operator; //錄入人,收款人
private string[] ss1;
private string[] ss2;
private string s1;
private string s2;
private int sum;
public TestPrintDoc(RegisterInfo entity)
{
RegisterBLL bll = new RegisterBLL();
this.time = entity.OperateDate;
this.num = time.Split('-');
this.year = num[0]; //年
this.month = num[1]; //月
this.day = num[2].Substring(0,2); //日
this.OperateDate = entity.OperateDate; //操作時間
DataSet ds= bll.SelectRegisterTodayID(OperateDate);
this.RegisterID = ds.Tables[0].Rows[0][0].ToString(); //此編號ID需要從數據庫中取,以操作時間為條件去查詢門診號
this.PatientName = entity.PatientInfo.PatientName; //姓名
this.OfficeName = entity.OfficeInfo.OfficeName; //科室
this.RegisterCost = entity.RegisterTypeInfo.RegisterTypeCost; //掛號費
this.CureCost = entity.OfficeInfo.CureCost; //診療費
this.Operator = entity.Operator; //
ss1=RegisterCost.Split('.'); //以.為分隔符
ss2 = CureCost.Split('.'); //以.為分隔符
s1=ss1[0];
s2=ss2[0];
sum=(int.Parse(s1)+int.Parse(s2));
money = sum.ToString();
switch (money)
{
case "1": Money = "壹元整";
break;
case "2": Money = "貳元整";
break;
case "3": Money = "叁元整";
break;
case "4": Money = "肆元整";
break;
case "5": Money = "伍元整";
break;
case "6": Money = "陸元整";
break;
case "7": Money = "柒元整";
break;
case "8": Money = "捌元整";
break;
case "9": Money = "玖元整";
break;
case "10": Money = "拾元整";
break;
case "11": Money = "拾壹元整";
break;
case "12": Money = "拾貳元整";
break;
case "13": Money = "拾叁元整";
break;
case "14": Money = "拾肆元整";
break;
case "15": Money = "拾伍元整";
break;
case "16": Money = "拾陸元整";
break;
case "17": Money = "拾柒元整";
break;
case "18": Money = "拾捌元整";
break;
case "19": Money = "拾玖元整";
break;
default: Money = "貳拾元整";
break;
}
}
protected override void OnBeginPrint(PrintEventArgs e)
{
font = new Font("宋體", 15);
pen = new Pen(Brushes.Red);
}
protected override void OnPrintPage(PrintPageEventArgs e)
{
e.Graphics.DrawString("游子醫院收費票據",new Font("宋體",20,FontStyle.Bold), Brushes.Red, 280, 130);
e.Graphics.DrawString(year, font, Brushes.Blue, 300, 170);
e.Graphics.DrawString("年", font, Brushes.Red, 350, 170);
e.Graphics.DrawString(month, font, Brushes.Blue, 385, 170);
e.Graphics.DrawString("月", font, Brushes.Red, 410, 170);
e.Graphics.DrawString(day, font, Brushes.Blue, 445, 170);
e.Graphics.DrawString("日", font, Brushes.Red, 470, 170);
e.Graphics.DrawRectangle(pen, 40, 200, 740, 300); //矩形
e.Graphics.DrawLine(pen, 40, 250, 780, 250);
e.Graphics.DrawLine(pen, 40, 300, 780, 300);
e.Graphics.DrawLine(pen, 40, 350, 780, 350);
e.Graphics.DrawLine(pen, 40, 400, 780, 400);
e.Graphics.DrawLine(pen, 40, 450, 780, 450); //5條橫線
e.Graphics.DrawLine(pen, 240, 250, 240, 450);
e.Graphics.DrawLine(pen, 410, 250, 410, 450);
e.Graphics.DrawLine(pen, 610, 250, 610, 450); //3條長豎線
e.Graphics.DrawLine(pen, 140, 200, 140, 250);
e.Graphics.DrawLine(pen, 320, 200, 320, 250);
e.Graphics.DrawLine(pen, 420, 200, 420, 250);
e.Graphics.DrawLine(pen, 550, 200, 550, 250);
e.Graphics.DrawLine(pen, 650, 200, 650, 250);
e.Graphics.DrawLine(pen, 550, 450, 550, 500);
//畫字
e.Graphics.DrawString("門診號", font, Brushes.Red, 50, 220);
e.Graphics.DrawString(RegisterID, font, Brushes.Blue, 150, 220);
e.Graphics.DrawString("姓名", font, Brushes.Red, 334, 220);
e.Graphics.DrawString(PatientName, font, Brushes.Blue, 440, 220);
e.Graphics.DrawString("科室", font, Brushes.Red, 564, 220);
e.Graphics.DrawString(OfficeName, font, Brushes.Blue, 670, 220);
e.Graphics.DrawString("收費項目", font, Brushes.Red, 86, 270);
e.Graphics.DrawString("金額(元)", font, Brushes.Red, 280, 270);
e.Graphics.DrawString("收費項目", font, Brushes.Red, 456, 270);
e.Graphics.DrawString("金額(元)", font, Brushes.Red, 640, 270);
e.Graphics.DrawString("掛號費", font, Brushes.Blue, 94, 320);
e.Graphics.DrawString(RegisterCost, font, Brushes.Blue, 300, 320);
e.Graphics.DrawString("診療費",font, Brushes.Blue, 94, 370);
e.Graphics.DrawString(CureCost, font, Brushes.Blue, 300, 370);
e.Graphics.DrawString("其他費用", font, Brushes.Blue, 86, 420);
e.Graphics.DrawString("合計金額(大寫)", font, Brushes.Red, 44, 470);
e.Graphics.DrawString(Money, font, Brushes.Blue, 200, 470);
e.Graphics.DrawString("合計金額(小寫)¥", font, Brushes.Red, 552, 470);
e.Graphics.DrawString(money, font, Brushes.Blue, 722, 470);
e.Graphics.DrawString("單位蓋章:", font, Brushes.Red, 46, 515);
e.Graphics.DrawString("錄入人:", font, Brushes.Red, 340, 515);
e.Graphics.DrawString(Operator, font, Brushes.Blue, 430, 515);
e.Graphics.DrawString("收款人:", font, Brushes.Red, 550, 515);
e.Graphics.DrawString(Operator, font, Brushes.Blue, 640, 515);
e.Graphics.DrawString("第", font, Brushes.Red, 782, 270);
e.Graphics.DrawString("一", font, Brushes.Red, 782, 300);
e.Graphics.DrawString("聯", font, Brushes.Red, 782, 320);
e.Graphics.DrawString(".", font, Brushes.Red, 786, 335);
e.Graphics.DrawString(".", font, Brushes.Red, 786, 345);
e.Graphics.DrawString("收", font, Brushes.Red, 782, 380);
e.Graphics.DrawString("據", font, Brushes.Red, 782, 440);
}
protected override void OnEndPrint(PrintEventArgs e)
{
font = null;
pen = null;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -