加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

VB.net中实现打印窗体

发布时间:2020-12-16 23:50:51 所属栏目:大数据 来源:网络整理
导读:示例 Private Declare Function BitBlt Lib "gdi32.dll" Alias "BitBlt" (ByVal _ hdcDest As IntPtr,ByVal nXDest As Integer,ByVal nYDest As _ Integer,ByVal nWidth As Integer,ByVal nHeight As Integer,ByVal _ hdcSrc As IntPtr,ByVal nXSrc As Integ

示例
Private Declare Function BitBlt Lib "gdi32.dll" Alias "BitBlt" (ByVal _
hdcDest As IntPtr,ByVal nXDest As Integer,ByVal nYDest As _
Integer,ByVal nWidth As Integer,ByVal nHeight As Integer,ByVal _
hdcSrc As IntPtr,ByVal nXSrc As Integer,ByVal nYSrc As Integer,_
ByVal dwRop As System.Int32) As Long
Dim memoryImage As Bitmap
Private Sub CaptureScreen()
Dim mygraphics As Graphics = Me.CreateGraphics()
Dim s As Size = Me.Size
memoryImage = New Bitmap(s.Width,s.Height,mygraphics)
Dim memoryGraphics As Graphics = Graphics.FromImage(memoryImage)
Dim dc1 As IntPtr = mygraphics.GetHdc
Dim dc2 As IntPtr = memoryGraphics.GetHdc
BitBlt(dc2,Me.ClientRectangle.Width,_
Me.ClientRectangle.Height,dc1,13369376)
mygraphics.ReleaseHdc(dc1)
memoryGraphics.ReleaseHdc(dc2)
End Sub
Private Sub PrintDocument1_PrintPage(ByVal sender As System.Object,_
ByVal e As System.Drawing.Printing.PrintPageEventArgs) Handles _
PrintDocument1.PrintPage
e.Graphics.DrawImage(memoryImage,0)
End Sub
Private Sub PrintButton_Click(ByVal sender As System.Object,ByVal e As _
System.EventArgs) Handles PrintButton.Click
CaptureScreen()
PrintDocument1.Print()
End Sub
编译代码
此示例需要:

窗体上名为 PrintDocument1 的 PrintDocument 组件。 名为 PrintButton 的 Button 控件。在单击 PrintButton 时,就会打印该窗体。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读