VB.NET窗体打印代码解读

大多数人在学习编程的过程中,往往都会通过不断的代码编写来积累经验达到一个运用熟练的地步。那么对于VB.NET语言的学习同样需要遵循这样一个规律。下面就让我们一起来看看VB.NET窗体打印的实现代码,从中增加我们的代码编写经验。

在聂拉木等地区,都构建了全面的区域性战略布局,加强发展的系统性、市场前瞻性、产品创新能力,以专注、极致的服务理念,为客户提供成都网站设计、成都网站建设 网站设计制作按需策划设计,公司网站建设,企业网站建设,成都品牌网站建设,全网营销推广,成都外贸网站建设,聂拉木网站建设费用合理。

VB.NET窗体打印代码示例:

 
 
 
  1. Imports System
  2. Imports System.Drawing.Printing
  3. Public Class Form1
  4. < System.Runtime.InteropServices.
    DllImport("gdi32.dll")>
  5. _Public Shared Function 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 Integer) As Boolean
  6. End Function
  7. < System.Runtime.InteropServices.
    DllImport("User32.dll")> _
  8. Public Shared Function GetWindowDC
    (ByVal hwd As IntPtr) As IntPtr
  9. End Function
  10. < System.Runtime.InteropServices.
    DllImport("User32.dll")> _
  11. Public Shared Function ReleaseDC
    (ByVal hwd As IntPtr, ByVal dc As 
    IntPtr) As Integer
  12. End Function
  13. < System.Runtime.InteropServices.
    DllImport("user32.dll")> _
  14. Public Shared Function GetWindowRect
    (ByVal hWnd As IntPtr, ByRef lpRect 
    As RECT) As Boolean
  15. End Function
  16. < Serializable(), System.Runtime.
    InteropServices.StructLayout(System.
    Runtime.InteropServices.LayoutKind.
    Sequential)> _
  17. Public Structure RECT
  18. Public Left As Integer
  19. Public Top As Integer
  20. Public Right As Integer
  21. Public Bottom As Integer
  22. End Structure
  23. Private memoryImage As Bitmap
  24. Private Sub CaptureScreen()
  25. Dim mygraphics As Graphics = Me.
    CreateGraphics()
  26. Dim r As RECT
  27. GetWindowRect(Me.Handle, r)
  28. Dim s As RectangleRectangle = 
    Rectangle.FromLTRB(r.Left, r.Top, 
    r.Right, r.Bottom)
  29. memoryImage = New Bitmap(s.Width, 
    s.Height, mygraphics)
  30. Dim memoryGraphics As Graphics
    Graphics = Graphics.FromImage(memoryImage)
  31. Dim dc1 As IntPtr = GetWindowDC(Me.Handle)
  32. Dim dc2 As IntPtr = memoryGraphics.GetHdc()
  33. BitBlt(dc2, 0, 0, s.Width, s.Height, 
    dc1, 0, 0, 13369376)
  34. ReleaseDC(Me.Handle, dc1)
  35. memoryGraphics.ReleaseHdc(dc2)
  36. End Sub
  37. Private Sub Document_PrintPage(ByVal 
    sender As System.Object, ByVal e As 
    System.Drawing.Printing.PrintPageEventArgs)
  38. e.Graphics.DrawImage(memoryImage, 0, 0)
  39. End Sub
  40. Private Sub Button1_Click_1(ByVal sender 
    As System.Object, ByVal e As System.EventArgs) 
    Handles Button1.Click
  41. CaptureScreen()
  42. PrintDialog1.ShowDialog()
  43. Dim pd As PrintDocument = New 
    PrintDocument
  44. pd.PrinterSettings = PrintDialog1.
    PrinterSettings
  45. AddHandler pd.PrintPage, AddressOf 
    Document_PrintPage
  46. pd.Print()
  47. End Sub 

怎么样,通过本文介绍的VB.NET窗体打印的实现方法,大家应该可以充分掌握这一应用技巧了。

新闻标题:VB.NET窗体打印代码解读
本文地址:http://www.shufengxianlan.com/qtweb/news5/42055.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联