บทความโดย อ. นัฐพงศ์ ส่งเนียม
http://www.siam2dev.com
อัพเดตล่าสุด เมื่อวันที่ :: 14/04/2551
สำหรับบทความนี้เป็น ตัวอย่างโจทย์ การสั่งพิมพ์ข้อความ หรือเอกสาร ไปที่เครื่องพิมพ์ สำหรับ VB6.0 นั้น มีคำสั่งในการสั่งพิมพ์ง่ายมากคือ
Printer.Print()
แต่ VB.NET เน้นการเขียนโปรแกรมแบบ OOP จึงได้ตัดส่วนที่ไม่เป็น OOP ออกไป เราจึงจำเป็นต้องสร้าง Class ขึ้นมาเพื่อแทนรูปแบบการเขียนโปรแกรมแบบเดิม โดยสามารถทำได้ดังนี้
1. สร้าง Project ขึ้นมาใหม่ ตั้งชื่อ TestPrinter
การสร้าง Project สามารถทำได้ดังนี้
1.1 ไปที่เมนู Project เลือก New Project
1.2 กำหนดชื่อ Project เป็น TestPrinter
1.3 กำหนด Location ตามต้องการ |
2. สร้าง Class ขึ้นมาใหม่ แล้วเขียนคำสั่งดังนี้
การสร้าง Class สามารถทำได้ดังนี้
2.1 ไปที่เมนู Project เลือก Add Class
2.2
กำหนด ชื่อ Class เป็น MyPrinter.vb แล้วกด Add |
2.3.1 เขียนคำสั่ง ใน Class ดังนี้
Public Class myPrinter
Friend TextToBePrinted As String
Public Sub prt(ByVal text As String)
TextToBePrinted = text
Dim prn As New Printing.PrintDocument
Using (prn)
'--- prn.PrinterSettings.PrinterName = "PrinterName"
AddHandler prn.PrintPage,
AddressOf Me.PrintPageHandler
prn.Print()
RemoveHandler prn.PrintPage, AddressOf Me.PrintPageHandler
End Using
End Sub
Private Sub PrintPageHandler(ByVal sender As Object, ByVal args As Printing.PrintPageEventArgs)
Dim myFont As New Font("Microsoft San Serif", 10)
args.Graphics.DrawString(TextToBePrinted,
New Font(myFont, FontStyle.Regular), Brushes.Black, 50, 50)
End Sub
End Class |
3. นำปุ่ม Button มาวางบนฟอร์ม 1 ปุ่ม แล้วเขียนคำสั่งดังนี้
สามารถทำได้ดังนี้้
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim Print As New myPrinter
Print.prt("ทดสอบการสั่งพิมพ์ด้วย Visual Basic.Net2005")
End Sub |
บทความโดย อ. นัฐพงศ์ ส่งเนียม
http://www.siam2dev.com
|