I have a Windows Application That Showsn Data in 2 Pages in PrintPreview, but It Is Printing Blank Pages When I Click The Print Icon Button In PrintPreview ?
Below Is My Code :
private int NextPageNum = 0;
private void prnDocument_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
float pageWidth = e.PageSettings.PrintableArea.Width;
float pageHeight = e.PageSettings.PrintableArea.Height;
leftMargin = (int)e.MarginBounds.Left;
rightMargin = (int)e.MarginBounds.Right;
topMargin = (int)e.MarginBounds.Top;
bottomMargin = (int)e.MarginBounds.Bottom;
InvoiceWidth = (int)e.MarginBounds.Width;
InvoiceHeight = (int)e.MarginBounds.Height;
switch (NextPageNum)
{
case 0:
RectangleF rectF1 = new RectangleF(90, 45, pageWidth-85, pageHeight-35);
Pen rectPen = new Pen(System.Drawing.Color.Black, 1);
e.Graphics.DrawRectangle(rectPen, Rectangle.Round(rectF1));
RectangleF rectF2 = new RectangleF(95, 230, pageWidth - 95, pageHeight - 225);
e.Graphics.DrawRectangle(rectPen, Rectangle.Round(rectF2));
SetInvoiceHead(e.Graphics);
SetOrderData(e.Graphics);
SetInvoiceData(e.Graphics, e);
break;
case 1:
ImageShower(e.Graphics);
break;
}
NextPageNum += 1;
e.HasMorePages = (NextPageNum <2);
}
private void prnDocument_BeginPrint(object sender, PrintEventArgs e)
{
NextPageNum = 0;
}
private void btnPreview_Click(object sender, EventArgs e)
{
NextPageNum = 0;
retriveData();
foreBrush = FontforeColor();
prnPreview.Document = prnDocument;
((Form)prnPreview).WindowState = FormWindowState.Maximized;
prnPreview.PrintPreviewControl.StartPage = 0;
prnPreview.PrintPreviewControl.Zoom = 1.0;
prnPreview.PrintPreviewControl.Columns = 1;
prnPreview.ShowDialog();
}
private void btnPrint_Click(object sender, EventArgs e)
{
try
{
prnDocument.Print();
}
catch (Exception e)
{
MessageBox.Show(e.ToString());
}
}