Screen snapshot : Screen Capture « GUI « VB.Net

Home
VB.Net
1.2D
2.Application
3.Class
4.Data Structure
5.Data Types
6.Database ADO.net
7.Development
8.Event
9.File Directory
10.Generics
11.GUI
12.Language Basics
13.LINQ
14.Network Remote
15.Security
16.Thread
17.Windows Presentation Foundation
18.Windows System
19.XML
20.XML LINQ
VB.Net Tutorial
VB.Net by API
VB.Net » GUI » Screen CaptureScreenshots 
Screen snapshot
  
Imports System.Windows.Forms
Imports System.Drawing
Public Class Form1
    Inherits System.Windows.Forms.Form
    Public Sub New()
        MyBase.New()
        InitializeComponent()
    End Sub
    Friend WithEvents MyPrintDocument As System.Drawing.Printing.PrintDocument
    Friend WithEvents MyPrintDialog As System.Windows.Forms.PrintDialog
    Friend WithEvents MyPictureBox As System.Windows.Forms.PictureBox
    Friend WithEvents Label1 As System.Windows.Forms.Label
    Friend WithEvents DataGrid1 As System.Windows.Forms.DataGrid
    Friend WithEvents MonthCalendar1 As System.Windows.Forms.MonthCalendar
    Friend WithEvents Label2 As System.Windows.Forms.Label
    Friend WithEvents Label3 As System.Windows.Forms.Label
    Friend WithEvents MonthCalendar2 As System.Windows.Forms.MonthCalendar
    Friend WithEvents LinkLabel1 As System.Windows.Forms.LinkLabel
    <System.Diagnostics.DebuggerStepThrough()Private Sub InitializeComponent()
        Me.MyPrintDocument = New System.Drawing.Printing.PrintDocument()
        Me.MyPrintDialog = New System.Windows.Forms.PrintDialog()
        Me.MyPictureBox = New System.Windows.Forms.PictureBox()
        Me.Label1 = New System.Windows.Forms.Label()
        Me.DataGrid1 = New System.Windows.Forms.DataGrid()
        Me.MonthCalendar1 = New System.Windows.Forms.MonthCalendar()
        Me.Label2 = New System.Windows.Forms.Label()
        Me.Label3 = New System.Windows.Forms.Label()
        Me.MonthCalendar2 = New System.Windows.Forms.MonthCalendar()
        Me.LinkLabel1 = New System.Windows.Forms.LinkLabel()
        CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).BeginInit()
        Me.SuspendLayout()
        '
        Me.MyPictureBox.Location = New System.Drawing.Point(29616)
        Me.MyPictureBox.Size = New System.Drawing.Size(1616)
        Me.MyPictureBox.Visible = False
        '
        Me.Label1.Font = New System.Drawing.Font("Tahoma"8.25!, (System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Underline), System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.Label1.Location = New System.Drawing.Point(1616)
        Me.Label1.Size = New System.Drawing.Size(22423)
        Me.Label1.Text = "Report"
        '
        Me.DataGrid1.Font = New System.Drawing.Font("Tahoma"8.0!)
        Me.DataGrid1.GridLineColor = System.Drawing.Color.RoyalBlue
        Me.DataGrid1.HeaderBackColor = System.Drawing.Color.MidnightBlue
        Me.DataGrid1.Location = New System.Drawing.Point(1648)
        Me.DataGrid1.Size = New System.Drawing.Size(392368)
        '
        Me.MonthCalendar1.Location = New System.Drawing.Point(432256)
        '
        Me.Label2.Font = New System.Drawing.Font("Tahoma"8.25!, (System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Underline), System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.Label2.Location = New System.Drawing.Point(432224)
        Me.Label2.Size = New System.Drawing.Size(20023)
        Me.Label2.Text = "Report:"
        '
        Me.Label3.Font = New System.Drawing.Font("Tahoma"8.25!, (System.Drawing.FontStyle.Bold Or System.Drawing.FontStyle.Underline), System.Drawing.GraphicsUnit.Point, CType(0, Byte))
        Me.Label3.Location = New System.Drawing.Point(43216)
        Me.Label3.Size = New System.Drawing.Size(20023)
        Me.Label3.Text = "Report:"
        '
        Me.MonthCalendar2.Location = New System.Drawing.Point(43248)
        '
        Me.LinkLabel1.Location = New System.Drawing.Point(36816)
        Me.LinkLabel1.Size = New System.Drawing.Size(3216)
        '
        Me.AutoScaleBaseSize = New System.Drawing.Size(513)
        Me.ClientSize = New System.Drawing.Size(648430)
        Me.Controls.AddRange(New System.Windows.Forms.Control() {Me.LinkLabel1, Me.Label3, Me.MonthCalendar2, Me.Label2, Me.MonthCalendar1, Me.DataGrid1, Me.Label1, Me.MyPictureBox})
        CType(Me.DataGrid1, System.ComponentModel.ISupportInitialize).EndInit()
        Me.ResumeLayout(False)

    End Sub
    Private Declare Auto Function BitBlt Lib "gdi32.dll" (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.Int32As Boolean
    Private bmpScreenshot As Bitmap
    Private Sub MyPrintDocument_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgsHandles MyPrintDocument.PrintPage
        Dim objImageToPrint As Graphics = e.Graphics
        objImageToPrint.DrawImage(bmpScreenshot, 00)
        bmpScreenshot.Dispose()
        objImageToPrint.Dispose()
        e.HasMorePages = False
    End Sub

    Private Sub LinkLabel1_LinkClicked(ByVal sender As System.Object, ByVal e As System.Windows.Forms.LinkLabelLinkClickedEventArgsHandles LinkLabel1.LinkClicked
        LinkLabel1.Visible = False
        Dim objGraphics As Graphics = Me.CreateGraphics
        Dim objSize As Size = Me.Size
        Const SRCCOPY As Integer = &HCC0020

        bmpScreenshot = New Bitmap(objSize.Width, objSize.Height, objGraphics)
        Dim objGraphics2 As Graphics = objGraphics.FromImage(bmpScreenshot)
        Dim deviceContext1 As IntPtr = objGraphics.GetHdc
        Dim deviceContext2 As IntPtr = objGraphics2.GetHdc

        BitBlt(deviceContext2, 00, Me.ClientRectangle.Width, _
            Me.ClientRectangle.Height, deviceContext1, 00, SRCCOPY)
        objGraphics.ReleaseHdc(deviceContext1)
        objGraphics2.ReleaseHdc(deviceContext2)
        MyPrintDialog.Document = MyPrintDocument
        If MyPrintDialog.ShowDialog = DialogResult.OK Then
            MyPrintDocument.Print()
        End If
        LinkLabel1.Visible = True
    End Sub

End Class

   
    
  
Related examples in the same category
1.Screen Capture Demo
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.