Как использовать диалоговое окно печати для печати документа? - PullRequest
0 голосов
/ 24 ноября 2010

Я занимаюсь разработкой проекта, в котором мне нужно распечатать счет на покупку.

У меня есть специальная панель заголовка для всех счетов, поэтому, как я могу это сделать .... что все время...... это поддерживает ....... У меня есть форма для изготовления счетов ......... Я не знаю, как распечатать его ......

Как я могу получить данные и с помощью какого диалогового окна я могу их сделать (напечатать) ........

Я использую vs2010 ......Как я могу сделать ...........

Ответы [ 2 ]

3 голосов
/ 24 ноября 2010
 PrintDialog printDialog1 = new PrintDialog()
 printDialog1.Document = printDocument1;
 DialogResult result = printDialog1.ShowDialog(this);
 if (result == DialogResult.OK)
 {
    printDocument1.Print();
 }
1 голос
/ 21 августа 2011
Public Class Form1
    Private WithEvents pd As Printing.PrintDocument
    ' storage for form image
    Dim formImage As Bitmap
    ' create API prototype
    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
    Private Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
        pd = New Printing.PrintDocument
        Me.StartPosition = FormStartPosition.CenterScreen

    End Sub
    Private Sub pd_PrintPage(ByVal sender As Object, _
     ByVal e As System.Drawing.Printing.PrintPageEventArgs) _
     Handles pd.PrintPage
        e.Graphics.DrawImage(formImage, 100, 100)
    End Sub

    Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
        GetFormImage()
        pd.Print()
    End Sub
    Private Sub GetFormImage()
        Dim g As Graphics = Me.CreateGraphics()
        Dim s As Size = Me.Size
        formImage = New Bitmap(s.Width, s.Height, g)
        Dim mg As Graphics = Graphics.FromImage(formImage)
        Dim dc1 As IntPtr = g.GetHdc
        Dim dc2 As IntPtr = mg.GetHdc
        ' added code to compute and capture the form
        ' title bar and borders
        Dim widthDiff As Integer = _
           (Me.Width - Me.ClientRectangle.Width)
        Dim heightDiff As Integer = _
           (Me.Height - Me.ClientRectangle.Height)
        Dim borderSize As Integer = widthDiff \ 2
        Dim heightTitleBar As Integer = heightDiff - borderSize
        BitBlt(dc2, 0, 0, _
           Me.ClientRectangle.Width + widthDiff, _
           Me.ClientRectangle.Height + heightDiff, dc1, _
           0 - borderSize, 0 - heightTitleBar, 13369376)

        g.ReleaseHdc(dc1)
        mg.ReleaseHdc(dc2)
    End Sub

End Class
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...