Search code examples
c#imagepictureboxprintdialog

printing content of a picturebox


HI all,

I have a picture box in my C# WinForms application which is sized 800x800. I want to print the content of this picture box using the following code but it does not do anything at all (just shows the print dialog and when I click on PRINT in the dialog it doe nothing too. What's wrong?

    private void menuFilePrint_Click(object sender, EventArgs e)
    {
        printDocument.OriginAtMargins = true;
        printDocument.DocumentName = "TEST IMAGE PRINTING";

        printDialog.Document = printDocument;
        printDialog.ShowDialog();
    }

    private void printDocument_PrintPage(object sender, PrintPageEventArgs e)
    {
        e.Graphics.DrawImage(curveBox.Image, 0, 0);
    }

Solution

  • You didn't instruct the printDocument to print:

    if(printDialog.ShowDialog() == DialogResult.OK)
        printDocument.Print();
    

    the printDialog is used to set printing settings.