有個(gè)PrintDocument控件,可以實(shí)現(xiàn)打印。。。
創(chuàng)新互聯(lián)建站是一家專注于網(wǎng)站設(shè)計(jì)、成都做網(wǎng)站與策劃設(shè)計(jì),龍?zhí)毒W(wǎng)站建設(shè)哪家好?創(chuàng)新互聯(lián)建站做網(wǎng)站,專注于網(wǎng)站建設(shè)十余年,網(wǎng)設(shè)計(jì)領(lǐng)域的專業(yè)建站公司;建站業(yè)務(wù)涵蓋:龍?zhí)兜鹊貐^(qū)。龍?zhí)蹲鼍W(wǎng)站價(jià)格咨詢:13518219792
MSDN原話:
使用 PrintDocument 組件
涉及 PrintDocument 組件的兩種主要情況是:
簡(jiǎn)單的打印作業(yè),如打印單個(gè)文本文件。在這種情況下,應(yīng)將 PrintDocument 組件添加到 Windows 窗體,然后在 PrintPage 事件處理程序中添加打印文件的編程邏輯。 該編程邏輯應(yīng)以使用 Print 方法打印文檔結(jié)束。
此方法向打印機(jī)發(fā)送一個(gè) Graphics 對(duì)象,該對(duì)象包含在 PrintPageEventArgs 類的 Graphics 屬性中。
有關(guān)如何使用 PrintDocument 組件打印文本文檔的示例,請(qǐng)參見
如何:打印 Windows 窗體中的多頁(yè)文本文件。
更為復(fù)雜的打印作業(yè),如想要重新使用已編寫的打印邏輯的情況。
在這種情況下,應(yīng)從 PrintDocument 組件派生一個(gè)新組件,并重寫
(請(qǐng)參見 Visual Basic 的 重寫或 C# 的 重寫) PrintPage 事件。
將 PrintDocument 組件添加到窗體后,它出現(xiàn)在 Windows 窗體設(shè)計(jì)器底部的欄中
用PrintForm控件,在Visual Basic PowerPacks項(xiàng)目列表中vb2008 SP1以后版本就有了,下面是代碼
Imports System.Drawing.Printing
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
'先設(shè)置打印頁(yè)面的頁(yè)邊距
With Me.PrintForm1
Dim myMargins As New Margins '頁(yè)邊距設(shè)置信息是存放在這個(gè)Margins類型的對(duì)象中的
With myMargins '分別設(shè)置上下左右邊距,
.Left = 12
.Right = 12
.Top = 12
.Bottom = 12
End With
.PrinterSettings.DefaultPageSettings.Margins = myMargins '把myMargins對(duì)象賦給PrintForm1的設(shè)置屬性
End With
Me.Button1.Visible = False '這個(gè)是在打印的時(shí)候隱藏打印按鈕
Me.PrintForm1.Form = Me '設(shè)置要打印的窗體
Me.PrintForm1.Print() '調(diào)用打印窗體方法
Me.Button1.Visible = True '再把隱藏的打印按鈕顯示出來(lái)
End Sub
我?guī)湍惆炎詈笠徊糠值恼Z(yǔ)句順序調(diào)換一下。你試一試
sub button1_click() '---執(zhí)行打印
Dim pd As PrintDocument = New PrintDocument
pd.PrinterSettings = PrintDialog1.PrinterSettings
If _PrintDialog1.ShowDialog() = Windows.Forms.DialogResult.OK Then
for i=0 to 1 '這樣可以兩次截圖
CaptureScreen() '--執(zhí)行前面自定義函數(shù)截圖
AddHandler pd.PrintPage, AddressOf Document_PrintPage
pd.Print()
Threading.Thread.sleep(100) ‘ 再加上一個(gè)間隔
next
end sub
先拖過來(lái)控件PrintDocument1,然后雙擊PrintDocument1,在它的PrintPage事件中加入代碼如下:
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles PrintDocument1.PrintPage
dim a as String
a="abcd"
Dim mypen As Pen = New Pen(Color.Blue, 2)
e.Graphics.DrawString(a, New Font("宋體", 20), New Pen(Color.Black, 1).Brush, 30, 30)
End Sub
調(diào)用下面語(yǔ)句可直接用默認(rèn)打印機(jī)打印出來(lái):
PrintDocument1.Print()
可以把數(shù)據(jù)導(dǎo)出到EXCEL,然后使用EXCEL進(jìn)一步處理后使用。
也可以做成vb報(bào)表(VB自帶有)。
先設(shè)置報(bào)表格式,打印時(shí)向報(bào)表傳遞數(shù)據(jù)就可以了。
vb的函數(shù)已經(jīng)不適合vb.net了,想學(xué)vb,得裝個(gè)vb6。用vb.net的話,使用Debug.WriteLine("hello world"),可以在輸出窗口查看到這個(gè)信息,這是最簡(jiǎn)單的,想直接寫窗體就得多寫幾行代碼了,具體搜索一下