我用Printer打印A5的单据,现在想先预览再打印,给个详细的描述,谢谢大家!

解决方案 »

  1.   

    将你打印代码中的Printer全部替换为Picture1,用PictureBox就能预览.
      

  2.   

    参考 http://topic.csdn.net/t/20020724/16/899095.html
      

  3.   

    picturebox预览,printer打印
    做一个过程来接收picturebox对象或printer对象1private sub iprin( obj as object)
        obj.line(0,0)-(1000,1000)
    end subprivate sub command1_click()'预览
        iprin picture1
    end subprivate sub command2_click()'打印
        iprin printer
        printer.enddoc
    end sub
      

  4.   

    试一试API函数:
    Private Declare Function PrinterProperties Lib "winspool.drv" (ByVal hwnd As Long, ByVal hPrinter As Long) As Long
    'Example Name:Printer Properties
    Private Declare Function OpenPrinter Lib "winspool.drv" Alias "OpenPrinterA" (ByVal pPrinterName As String, phPrinter As Long, pDefault As Any) As Long
    Private Declare Function ClosePrinter Lib "winspool.drv" (ByVal hPrinter As Long) As Long
    Private Declare Function PrinterProperties Lib "winspool.drv" (ByVal hwnd As Long, ByVal hPrinter As Long) As Long
    Private Sub Form_Load()
        'KPD-Team 2001
        'URL: http://www.allapi.net/
        'E-Mail: [email protected]
        Dim hPrinter As Long
        OpenPrinter Printer.DeviceName, hPrinter, ByVal 0&
        PrinterProperties Me.hwnd, hPrinter
        ClosePrinter hPrinter
    End Sub
      

  5.   

    将你的打印做成函数,将Picture或者Printer做为函数的参数。当参数为Picture时,是预览,当参数为Printer时,是打印。