`

控件 内容 打印

    博客分类:
  • .NET
 
阅读更多
    Private Sub btnPrint_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnPrint.Click

                Dim PrintDialog As New PrintDialog
                Dim dlg As New PrintPreviewDialog

                Dim graphicBS As Graphics
                graphicBS = pnlLCC.CreateGraphics()

                Dim size As Size
                size = pnlLCC.Size

                'Dim img As Bitmap
                img = New Bitmap(size.Width, size.Height, graphicBS)

                Dim graphicImg As Graphics
                graphicImg = Graphics.FromImage(img)

                Dim dc1, dc2 As IntPtr
                dc1 = graphicBS.GetHdc()
                dc2 = graphicImg.GetHdc()

                NativeMethods.BitBlt(dc2, 0, 0, pnlLCC.ClientSize.Width, pnlLCC.ClientSize.Height, dc1, 0, 0, NativeMethods.SRCCOPY)


                printImg = CType(img.Clone(), Image)
                graphicBS.ReleaseHdc(dc1)
                graphicImg.ReleaseHdc(dc2)
                graphicBS.Dispose()
                graphicImg.Dispose()
                img.Dispose()

                printImg.Save("C:BS.jpg")

                AddHandler printDoc.PrintPage, AddressOf PrintDocument_PrintPage

                PrintDialog.Document = printDoc
                PrintDialog.UseEXDialog = True
                Dim result As DialogResult = PrintDialog.ShowDialog()
                If (result = DialogResult.OK) Then
                    printDoc.Print()
                End If

    End Sub

    Private Sub PrintDocument_PrintPage(ByVal sender As System.Object, ByVal e As System.Drawing.Printing.PrintPageEventArgs)

	'!!!!!!!!!!!!!!!!!!!!!!! 重点
        Dim width As Integer = printDoc.DefaultPageSettings.Bounds.Width
        Dim height As Integer = printDoc.DefaultPageSettings.Bounds.Height
        e.Graphics.DrawImage(printImg, 0, 0, width, height)

    End Sub
Public Class NativeMethods

    Public Const SRCCOPY As UInteger = &HCC0020

    <System.Runtime.InteropServices.DllImport("user32.dll ")> _
    Public Shared Function GetDesktopWindow() As IntPtr

    End Function


    <System.Runtime.InteropServices.DllImport("user32.dll ")> _
            Public Shared Function GetWindowDC(ByVal hwnd As IntPtr) As IntPtr

    End Function


    <System.Runtime.InteropServices.DllImport("gdi32.dll ")> _
            Public Shared Function BitBlt(ByVal hDestDC As IntPtr, ByVal x As Integer, ByVal y As Integer, ByVal nWidth As Integer, ByVal nHeight As Integer, ByVal hSrcDC As IntPtr, ByVal xSrc As Integer, ByVal ySrc As Integer, ByVal dwRop As System.Int32) As UInt64

    End Function


End Class
 
分享到:
评论

相关推荐

    C#打印 DataGridView 控件

    近段时间看到很多在路上的朋友都在找这个 我也偶尔在别的地方下载来看了下别人写的东西 感觉不是这缺就是那少 都不大完美 这段 C# DataGridView 控件内容打印代码 是经本人在VS2008下测试通过 可以实现对...

    使用PrintDocument控件和PrintDialog控件实现打印文档内容

    `PrintPage`事件是关键,当触发此事件时,你需要在这个事件处理程序中绘制要打印的内容。比如打印文本: ```csharp printDoc.PrintPage += (sender, e) =&gt; { e.Graphics.DrawString("Hello, World!", new Font...

    vb6.0 MSFlexGrid打印控件

    本控件系VB6.0编写,可以直接打印MSHFlexGrid控件(如果控件的数据中有图片,图片也会打印出来)、ListView控件、ADO记录、DAO记录、Datagrid控件、Flexgrid控件的内容,省时省力。对MSHFlexGrid控件的内容,控件...

    vb打印控件 vb打印控件

    vb打印控件

    墙外打印控件(打印控件)

    墙外打印控件是一种在应用程序中用于实现打印功能的组件,它使得用户可以在不离开当前应用界面的情况下,方便地对文档、图像或者其他形式的数据进行打印操作。这种控件通常具有高度自定义的能力,允许开发者根据具体...

    c# 窗体、控件打印类

    - 要打印整个窗体,你需要遍历窗体上的所有控件,将它们的布局和内容转换为图像,然后在PrintDocument的OnPrintPage事件中绘制该图像。 - 一个常见的技巧是使用Graphics.DrawImage()方法将窗体的可视化表示转换为...

    VSFLEX.rar_MSHFlexGrid_vbprint时间_vsflex_打印mshflexgrid

    在打印预览表格时,时间会比较长,因为要... 打印普通MSHFlexGrid控件内容(只有首页打印标题  文本、表格、图片混合输出测试  打印普通MSHFlexGrid控件内容(每页都打印标题)  以工资条形式打印MSHFlexGrid控件内容

    WEB打印控件很好用的WEB打印控件

    WEB打印控件WEB打印控件WEB打印控件WEB打印控件WEB打印控件WEB打印控件WEB打印控件WEB打印控件WEB打印控件WEB打印控件

    楚琳Web打印控件、源码、使用说明

    首先,楚琳Web打印控件的核心功能在于它能够处理HTML内容的打印,允许用户在浏览器环境下无须下载任何额外插件就能完成打印任务。它支持多种网页元素的打印,包括文字、图片、表格、图表等,确保了网页内容在打印时...

    LOOP打印控件例子

    在WebPrintDemo中,可能包含了如何将网页内容转化为适合打印的格式,并利用控件的打印功能将其发送到打印机。这涉及到HTML到PDF的转换,或者直接解析HTML并渲染到纸上。 此外,该控件还可能具备预览功能,允许用户...

    打印控件 条码打印 条码打印(含原代码)

    "打印控件 条码打印 条码打印(含原代码)"这个标题表明我们将讨论如何利用特定的打印控件来实现条形码的生成与打印,并且提供了包含源代码的示例项目"BarCodeWinDemo"。 1. **打印控件**: 打印控件是软件开发中...

    实现jsp打印的控件

    - 开发者可以根据业务需求对打印控件进行扩展,比如加入对特定内容的隐藏、格式调整、页眉页脚设置等。 - 需要理解CSS媒体查询(Media Queries),以适应不同的打印环境,如区分屏幕显示和打印样式。 - 可能需要...

    C#里面DataGridView控件数据打印

    本文将深入探讨如何在C#中利用DataGridView控件进行数据打印,包括如何处理包含条形码的打印需求。 首先,我们要了解DataGridView控件的基本用法。在C#中,通过Visual Studio的工具箱,可以将DataGridView拖放到...

    免费DataGridView打印及.NET轻松打印控件6.01版(VB打印,C#打印,图表打印,Excel导入导出,多表头显示与打印)

    9、强大的容器控件打印功能(DrawPanel函数)。借助该函数,您只需要在您的容器控件中设计好要打印的内容及打印内容的相对位置,控件轻松帮你打印出来(如果超过一页,控件会自动换页续打)。 10、5.6版新增的Simple...

    条码打印控件 条码打印 条码打印(含原代码)

    这些控件通常提供API接口,使得程序员可以通过编程方式设置条码类型、数据内容、尺寸、样式等参数。在描述中提到的“所有1维码都可以打印”,意味着这个控件支持包括EAN-13、UPC-A、Code 128、Code 39、ITF-14等各种...

    免费VB打印控件(带源代码及示例)

    本控件系VB6.0编写,有控件的原代码,可以直接打印MSHFlexGrid控件(如果控件的数据中有图片,图片也会打印出来)的内容,省时省力,并提供多种打印方式,如多栏打印、分页打印、自动缩放打印、工资条样式打印等功能...

    c#打印控件

    在.NET框架中,C#语言提供了丰富的控件和API用于实现打印功能,这些功能主要集中在System.Drawing.Printing命名空间中。本项目是一个关于C#打印控件的学习源码,可以帮助开发者深入理解如何在C#应用中实现打印操作。...

    不需打印控件的打印源码

    不需打印控件的打印源码。。。。。。。。。。。。。。

    PB打印控件,不算太智能

    在PB中,打印控件是用于实现用户界面与打印机之间的交互,允许用户打印报表、文档等内容。 描述提到的“小木鱼DEMO”可能是指一个第三方开发的打印控件示例,由“小木鱼”这个开发者或团队提供。它似乎不完全兼容...

    JS打印报表控件

    "JS打印报表控件"是专门为JavaScript设计的一种工具,它允许开发者在Web应用中实现报表的打印功能,包括分页打印和打印预览,从而提供更丰富的用户体验。 在Web开发中,打印功能通常是必不可少的,尤其是对于那些...

Global site tag (gtag.js) - Google Analytics