日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

VB.NET小报表(收据)打印

發布時間:2024/3/24 asp.net 38 豆豆
生活随笔 收集整理的這篇文章主要介紹了 VB.NET小报表(收据)打印 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

?

?

??? ''' <summary> ??? ''' 打印收據 ??? ''' </summary> ??? ''' <remarks></remarks> ??? Private Sub PrintReceipt() ??????? Try ??????????? '調用更改默認打印機 ??????????? Call changeDefaultPrinter(PrintDocType.Receipt)

??????????? Dim PrintDoc As New Printing.PrintDocument

??????????? AddHandler PrintDoc.PrintPage, AddressOf DrawReceipt '關鍵是這句話,當使用Print方法時,會自動調用DrawReceipt方法,這個方法是畫小收據的過程,可以自定義. ??????????? PrintDoc.Print()

??????? Catch ex As Exception ??????????? MsgBox("Printing error!" & vbCrLf & "Please make sure your printer is valid!", 48) ??????? End Try ??? End Sub

'這個函數的參數是固定的.用e變量來畫出任何圖形或文字,這樣就可以打印到打印機去了.這個例子有點復雜,有空我再簡化一下.

??? ''' <summary> ??? ''' 畫出Receipt,用于打印.收據, ??? ''' 臨時使用,最后完善一個打印類 ??? ''' </summary> ??? ''' <param name="sender"></param> ??? ''' <param name="e"></param> ??? ''' <remarks></remarks> ??? Private Sub DrawReceipt(ByVal sender As Object, ByVal e As Printing.PrintPageEventArgs)

??????? Dim MyTitformat As New StringFormat ??????? MyTitformat.Alignment = StringAlignment.Center ??????? Dim MyTitformat_item As New StringFormat

??????? Dim MyConformat As New StringFormat ??????? MyConformat.Alignment = StringAlignment.Near

??????? 'e.Graphics.PageUnit = GraphicsUnit.Millimeter ??????? e.Graphics.PageUnit = GraphicsUnit.Point ??????? 'e.Graphics.PageUnit = GraphicsUnit.Pixel ??????? Dim MyTitFont1 As New Font("Arial", 21, FontStyle.Bold)?? '標題字體 ??????? Dim MyTitFont2 As New Font("Arial", 12, FontStyle.Bold)?? '標題字體 ??????? Dim MyConFont As New Font("Arial", 8, FontStyle.Regular)??? '正文字體 ??????? Dim MyConFont1 As New Font("Arial", 9, FontStyle.Bold)??? '正文字體 ??????? Dim MyLinePen As New Pen(Color.Black, 1) ??????? Dim RecRow As Single = 0 ??????? RecRow = 1 ??????? Dim nPageH As Double = 0 ??????? Dim nPageW As Double = 0

??????? nPageH = nPh ??????? nPageW = nPw ??????? nPageW = 180 ??????? topW = nPageW

??????? ''左半側三例的X坐標 ??????? Dim XL0 As Double = 0 ??????? Dim XL1 As Double = 0 ??????? Dim XL2 As Double = 0 ??????? Dim XL3 As Double = 0 ??????? Dim XL4 As Double = 0

??????? ''當前的Y坐標 ??????? Dim YCurrent As Double = 20 ??????? ''中間豎線的X坐標 ??????? Dim XLine As Double = 0

??????? ''每行文字的高度 ??????? Dim dHline As Double = 0

??????? ''當前打印的區域,主要用于控制描述打印的自動換行和換行后的高度 ??????? Dim CurRecF As RectangleF

??????? ''當前打印的字符 ??????? Dim sCurTPrintStr As String = ""

??????? ''用于保存打印公司信息時的打印寬度 ??????? Dim companyInfoW As Double = 230

??????? XLine = nPageW / 2 - 25 ??????? Me.itemnumW = 90 ??????? dItemDesW = 2 ??????? dItemQuantityW = 23 ??????? dItemPriceW = 52 ??????? allPriceW = 60

??????? XL0 = 0 ??????? XL1 = XL0 + Me.itemnumW ??????? XL2 = XL1 + dItemDesW ??????? XL3 = XL2 + Me.dItemQuantityW ??????? XL4 = XL3 + Me.dItemPriceW

??????? 'e.Graphics.DrawLine(Pens.Black, CInt(XL0), CInt(YCurrent), CInt(XL0 + nPageW), CInt(YCurrent)) ??????? 'YCurrent = YCurrent + 1 ??????? 'e.Graphics.DrawLine(Pens.Black, CInt(XL0), CInt(YCurrent), CInt(XL4 + dItemPriceW), CInt(YCurrent))

??????? Dim LogoIsExistence As Boolean = True ??????? '先判斷是否要在收據上打印Logo ??????? If objSetup.Logo_Type = 1 Or objSetup.Logo_Type = 3 Then ??????????? If My.Computer.FileSystem.FileExists(Application.StartupPath.Trim & "/Pictures/LogoOnReceipt.TIF") Then ??????????????? LogoIsExistence = True

??????????????? Dim printLogo As Image = Image.FromFile(Application.StartupPath.Trim & "/Pictures/LogoOnReceipt.TIF") ??????????????? YCurrent = 10 ??????????????? '畫左側Logo ??????????????? Dim xL As Single = 10.0F ??????????????? Dim yL As Single = Convert.ToSingle(YCurrent) ??????????????? e.Graphics.DrawImage(printLogo, xL, yL) ??????????? Else ??????????????? LogoIsExistence = False ??????????? End If ??????? End If ??????? 'companyInfoW = e.PageSettings.PaperSize.Width

?

??????? '判斷是否要在收據上打印公司信息 ??????? If objSetup.Logo_Type = 2 Or objSetup.Logo_Type = 3 Then ??????????? '打印公司信息

??????????? '判斷標題是否要打印:如果打印Logo的話公司名就不要打印 ??????????? If objSetup.Logo_Type = 3 And LogoIsExistence Then ??????????????? '重新計算Y坐標值,空出Logo的高度 ??????????????? dHline = 48 ??????????????? YCurrent = YCurrent + dHline ??????????? Else ??????????????? If objSetup.Company_Info_1.Trim <> "" Then ??????????????????? sCurTPrintStr = objSetup.Company_Info_1.Trim ??????????????????? 'companyInfoW = e.Graphics.MeasureString(sCurTPrintStr, MyTitFont1).Width '計算打印字符串的寬度 ??????????????????? 'XL1 = Convert.ToDouble((nPageW - companyInfoW) / 2)

??????????????????? CurRecF = New RectangleF(XL0, YCurrent, companyInfoW, 100) ??????????????????? e.Graphics.DrawString(sCurTPrintStr, MyTitFont1, Brushes.Black, CurRecF, MyTitformat) ??????????????????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyTitFont1, companyInfoW, MyTitformat).Height ??????????????????? YCurrent = YCurrent + dHline

??????????????????? XL1 = XL0 + itemnumW ??????????????? End If ??????????? End If

??????????? If objSetup.Company_Info_2.Trim <> "" Then ??????????????? sCurTPrintStr = objSetup.Company_Info_2.Trim ??????????????? 'companyInfoW = e.Graphics.MeasureString(sCurTPrintStr, MyTitFont2).Width ??????????????? 'XL1 = Convert.ToDouble((nPageW - companyInfoW) / 2)

??????????????? CurRecF = New RectangleF(XL0, YCurrent, companyInfoW, 100) ??????????????? e.Graphics.DrawString(sCurTPrintStr, MyTitFont2, Brushes.Black, CurRecF, MyTitformat) ??????????????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyTitFont2, companyInfoW, MyTitformat).Height ??????????????? YCurrent = YCurrent + dHline

??????????????? XL1 = XL0 + itemnumW ??????????? End If

??????????? If objSetup.Company_Info_3.Trim <> "" Then ??????????????? sCurTPrintStr = objSetup.Company_Info_3.Trim ??????????????? 'companyInfoW = e.Graphics.MeasureString(sCurTPrintStr, MyTitFont2).Width ??????????????? 'XL1 = Convert.ToDouble((nPageW - companyInfoW) / 2)

??????????????? CurRecF = New RectangleF(XL0, YCurrent, companyInfoW, 100) ??????????????? e.Graphics.DrawString(sCurTPrintStr, MyTitFont2, Brushes.Black, CurRecF, MyTitformat) ??????????????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyTitFont2, companyInfoW, MyTitformat).Height ??????????????? YCurrent = YCurrent + dHline

??????????????? XL1 = XL0 + itemnumW ??????????? End If

??????????? If objSetup.Company_Info_4.Trim <> "" Then ??????????????? sCurTPrintStr = objSetup.Company_Info_4.Trim ??????????????? 'companyInfoW = e.Graphics.MeasureString(sCurTPrintStr, MyTitFont2).Width ??????????????? 'XL1 = Convert.ToDouble((nPageW - companyInfoW) / 2)

??????????????? CurRecF = New RectangleF(XL0, YCurrent, companyInfoW, 100) ??????????????? e.Graphics.DrawString(sCurTPrintStr, MyTitFont2, Brushes.Black, CurRecF, MyTitformat) ??????????????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyTitFont2, companyInfoW, MyTitformat).Height ??????????????? YCurrent = YCurrent + dHline

??????????????? XL1 = XL0 + itemnumW ??????????? End If ??????? End If

??????? '如果只打印Logo則需要計算Y坐標值 ??????? If objSetup.Logo_Type = 1 Then ??????????? dHline = 48 ??????????? YCurrent = YCurrent + dHline ??????? End If

??????? sCurTPrintStr = "INVOICE #:" ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????? sCurTPrintStr = thisInvoice_Number.ToString.Trim ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0 + topW / 2, YCurrent)

??????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, topW / 2, MyTitformat).Height ??????? YCurrent = YCurrent + dHline

??????? sCurTPrintStr = "DATE/TIME:" ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????? sCurTPrintStr = FormatDateTime(Now, DateFormat.ShortDate) & " " & FormatDateTime(Now, DateFormat.LongTime).ToString ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0 + topW / 2, YCurrent)

??????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, topW / 2, MyTitformat).Height ??????? YCurrent = YCurrent + dHline

??????? sCurTPrintStr = "CASHIER: " & sys_employee.Cashier_ID.Trim ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????? sCurTPrintStr = "STATION: " & objStation.Station_ID ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0 + topW / 2, YCurrent)

??????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, topW / 2, MyTitformat).Height ??????? YCurrent = YCurrent + dHline

??????? sCurTPrintStr = "CUSTOMER:" ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????? sCurTPrintStr = oCustomer.First_Name.Trim & " " & oCustomer.Last_Name.Trim ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0 + topW / 2, YCurrent)

??????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, topW / 2, MyTitformat).Height ??????? YCurrent = YCurrent + dHline * 2

??????? Dim i As Integer

??????? '''''''''''''''''''''''''''''''''''''''''''''''''''''' ??????? '表頭 ??????? sCurTPrintStr = "ITEM" ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont1, Brushes.Black, XL0, YCurrent)

??????? CurRecF = New RectangleF(XL1, YCurrent, itemnumW, 100)

??????? 'e.Graphics.DrawString("???? DESCRIPTION", MyConFont1, Brushes.Black, XL1, YCurrent) ??????? 'dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, itemnumW, MyConformat).Height

??????? e.Graphics.DrawString("QTY", MyConFont1, Brushes.Black, XL2, YCurrent)

??????? e.Graphics.DrawString("PRICE", MyConFont1, Brushes.Black, XL3, YCurrent)

??????? e.Graphics.DrawString("TOTAL", MyConFont1, Brushes.Black, XL4, YCurrent) ??????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont1, dItemDesW + itemnumW, MyTitformat).Height ??????? YCurrent = YCurrent + dHline

??????? 'YCurrent = YCurrent + 10 ??????? ''''''''''''''''''''''''''''''''''''''''''''''''''''''''' ??????? ''表頭下面畫一條線 ??????? e.Graphics.DrawLine(MyLinePen, New PointF(XL0, YCurrent), New PointF(XL4 + Me.allPriceW, YCurrent)) ??????? dHline = 2 ??????? YCurrent = YCurrent + dHline

??????? ''畫出每個產品 ??????? Dim nLenItems As Integer = 0 ??????? nLenItems = oSalesInv.InvoiceItems.Length

??????? For i = 0 To nLenItems - 1 ??????????? If oSalesInv.InvoiceItems(i).Print_On_Receipt = True Then

??????????????? ''<左側>一個產品:三個字段,數量:描述:單價 ??????????????? sCurTPrintStr = oSalesInv.InvoiceItems(i).DiffItemName.Trim ??????????????? CurRecF = New RectangleF(XL0, YCurrent, Me.itemnumW, 100) ??????????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, CurRecF, MyTitformat_item) ??????????????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, itemnumW, MyConformat).Height ??????????????? CurRecF = New RectangleF(XL1, YCurrent, itemnumW, 100)

??????????????? ''sCurTPrintStr = oSalesInv.InvoiceItems(i).DiffItemName??? '商品名稱 ??????????????? ' ''e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL1, YCurrent) ??????????????? ''e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, CurRecF, MyTitformat) ??????????????? ' ''e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XR1, YCurrent)

??????????????? sCurTPrintStr = " " & oSalesInv.InvoiceItems(i).Quantity?? '數量 ??????????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL2, YCurrent)

??????????????? sCurTPrintStr = FormatCurrency(oSalesInv.InvoiceItems(i).PricerPer.money).ToString???? '單價 ??????????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL3, YCurrent)

??????????????? sCurTPrintStr = FormatCurrency(oSalesInv.InvoiceItems(i).Quantity * oSalesInv.InvoiceItems(i).PricerPer.money).ToString ??????????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL4, YCurrent)

??????????????? YCurrent = YCurrent + dHline ??????????? End If

??????? Next

??????? ''產品結束下面畫一條線 ??????? e.Graphics.DrawLine(MyLinePen, New PointF(XL0, YCurrent), New PointF(XL4 + Me.allPriceW, YCurrent)) ??????? dHline = 2 ??????? YCurrent = YCurrent + dHline

??????? '用于控制尾部的匯總描述寬度和高度。 ??????? Dim nEndDesW As Double ??????? nEndDesW = XL0 + topW / 2 ??????? '如果整單有折扣,則顯示折扣前和折扣信息 ??????? If oSalesInv.Discount > 0 Then ??????????? CurRecF = New RectangleF(XL0, YCurrent, nEndDesW, 100) ??????????? sCurTPrintStr = "UNDISCOUNTED TOTAL:" ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, nEndDesW, MyConformat).Height

??????????? sCurTPrintStr = FormatCurrency(oSalesInv.Total_Price.money / (1 - oSalesInv.Discount)).ToString???? '總應收錢數 ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL2, YCurrent)

??????????? YCurrent = YCurrent + dHline

??????????? CurRecF = New RectangleF(XL0, YCurrent, nEndDesW, 100) ??????????? sCurTPrintStr = "-" & FormatPercent(oSalesInv.Discount) & "Discount:" ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, nEndDesW, MyConformat).Height

??????????? sCurTPrintStr = FormatCurrency(oSalesInv.Total_Price.money / (1 - oSalesInv.Discount) * oSalesInv.Discount).ToString???? '總應收錢數 ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL2, YCurrent)

??????????? YCurrent = YCurrent + dHline

??????? End If ??????? ''產品總費用 ??????? CurRecF = New RectangleF(XL0, YCurrent, nEndDesW, 100) ??????? sCurTPrintStr = "SUBTOTAL:" ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, nEndDesW, MyConformat).Height

??????? sCurTPrintStr = FormatCurrency(oSalesInv.Total_Price.money).ToString???? '總應收錢數 ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL4, YCurrent)

??????? YCurrent = YCurrent + dHline

??????? ''產品總稅 ??????? CurRecF = New RectangleF(XL0, YCurrent, nEndDesW, 100) ??????? sCurTPrintStr = "TAX:" ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, nEndDesW, MyConformat).Height

??????? sCurTPrintStr = FormatCurrency(oSalesInv.Total_Tax1.money + oSalesInv.Total_Tax2.money + oSalesInv.Total_Tax3.money).ToString???? '總稅 ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL4, YCurrent)

??????? YCurrent = YCurrent + dHline

??????? ''GRAND TOTAL ??????? CurRecF = New RectangleF(XL0, YCurrent, nEndDesW, 100) ??????? sCurTPrintStr = "GRAND TOTAL:" ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, nEndDesW, MyConformat).Height

??????? sCurTPrintStr = FormatCurrency(oSalesInv.Grand_Total.money).ToString ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL4, YCurrent)

??????? YCurrent = YCurrent + dHline

??????? '' ??????? ''這里要加上多種支付方式。 ??????? ''先空出一行 ??????? YCurrent = YCurrent + dHline

??????? ''判斷現金支付 ??????? If oSalesInv.CA_Amount.money > 0 Then ??????????? CurRecF = New RectangleF(XL0, YCurrent, nEndDesW, 100) ??????????? sCurTPrintStr = "AMOUNT:" ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, nEndDesW, MyConformat).Height

??????????? sCurTPrintStr = FormatCurrency(oSalesInv.CA_Amount.money).ToString ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL4, YCurrent)

??????????? YCurrent = YCurrent + dHline ??????? End If ??????? ''判斷信用卡支付 ??????? If oSalesInv.CC_Amount.money > 0 Then ??????????? CurRecF = New RectangleF(XL0, YCurrent, nEndDesW, 100) ??????????? sCurTPrintStr = "CREDIT CARD:" ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, nEndDesW, MyConformat).Height

??????????? sCurTPrintStr = FormatCurrency(oSalesInv.CC_Amount.money).ToString ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL4, YCurrent)

??????????? YCurrent = YCurrent + dHline ??????? End If ??????? ''判斷支票支付 ??????? If oSalesInv.CH_Amount.money > 0 Then ??????????? CurRecF = New RectangleF(XL0, YCurrent, nEndDesW, 100) ??????????? sCurTPrintStr = "TRAVELLER CHECK AMOUNT:" ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, nEndDesW, MyConformat).Height

??????????? sCurTPrintStr = FormatCurrency(oSalesInv.CH_Amount.money).ToString ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL4, YCurrent)

??????????? YCurrent = YCurrent + dHline ??????? End If

??????? ''判斷Room Card支付 ??????? If oSalesInv.RC_Amount.money > 0 Then ??????????? CurRecF = New RectangleF(XL0, YCurrent, nEndDesW, 100) ??????????? sCurTPrintStr = "ROOM CARD AMOUNT:" ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, nEndDesW, MyConformat).Height

??????????? sCurTPrintStr = FormatCurrency(oSalesInv.RC_Amount.money).ToString ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL4, YCurrent)

??????????? YCurrent = YCurrent + dHline ??????? End If

??????? ''判斷Gift Card支付 ??????? If oSalesInv.GC_Amount.money > 0 Then ??????????? CurRecF = New RectangleF(XL0, YCurrent, nEndDesW, 100) ??????????? sCurTPrintStr = "GIFT CARD AMOUNT:" ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, nEndDesW, MyConformat).Height

??????????? sCurTPrintStr = FormatCurrency(oSalesInv.GC_Amount.money).ToString ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL4, YCurrent)

??????????? YCurrent = YCurrent + dHline ??????? End If ??????? ''判斷Debit Card支付 ??????? If oSalesInv.DC_Amount.money > 0 Then ??????????? CurRecF = New RectangleF(XL0, YCurrent, nEndDesW, 100) ??????????? sCurTPrintStr = "DEBIT CARD AMOUNT:" ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, nEndDesW, MyConformat).Height

??????????? sCurTPrintStr = FormatCurrency(oSalesInv.DC_Amount.money).ToString ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL4, YCurrent)

??????????? YCurrent = YCurrent + dHline ??????? End If ??????? ''判斷On Account支付 ??????? If oSalesInv.OA_Amount.money > 0 Then ??????????? CurRecF = New RectangleF(XL0, YCurrent, nEndDesW, 100) ??????????? sCurTPrintStr = "STORE CREDIT:" ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, nEndDesW, MyConformat).Height

??????????? sCurTPrintStr = FormatCurrency(oSalesInv.OA_Amount.money).ToString ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL4, YCurrent)

??????????? YCurrent = YCurrent + dHline ??????? End If ??????? ''判斷Food Stamps支付 ??????? If oSalesInv.FS_Amount.money > 0 Then ??????????? CurRecF = New RectangleF(XL0, YCurrent, nEndDesW, 100) ??????????? sCurTPrintStr = "FOOD STAMPS :" ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, nEndDesW, MyConformat).Height

??????????? sCurTPrintStr = FormatCurrency(oSalesInv.FS_Amount.money).ToString ??????????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL4, YCurrent)

??????????? YCurrent = YCurrent + dHline ??????? End If

??????? ''AMT TENDERED ??????? CurRecF = New RectangleF(XL0, YCurrent, nEndDesW, 100) ??????? sCurTPrintStr = "PAYMENT:" ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, nEndDesW, MyConformat).Height

??????? sCurTPrintStr = FormatCurrency(Me.AmtTendered.money).ToString ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL4, YCurrent)

??????? YCurrent = YCurrent + dHline

??????? ''Change due ??????? CurRecF = New RectangleF(XL0, YCurrent, nEndDesW, 100) ??????? sCurTPrintStr = "CHANGE DUE:" ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL0, YCurrent) ??????? dHline = e.Graphics.MeasureString(sCurTPrintStr, MyConFont, nEndDesW, MyConformat).Height

??????? sCurTPrintStr = FormatCurrency(Me.AmtChange.money).ToString ??????? e.Graphics.DrawString(sCurTPrintStr, MyConFont, Brushes.Black, XL4, YCurrent)

??????? 'YCurrent = YCurrent + dHline

end sub

?

總結

以上是生活随笔為你收集整理的VB.NET小报表(收据)打印的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。