代码如下:
private void button7_Click(object sender, EventArgs e)
{
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(this.printDocument1_PrintPage);
//pd.Print(); printPreviewDialog1.Document = this.printDocument1;
printPreviewDialog1.ShowDialog();
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
try
{
BitmapList1 = GetBitmapList();
pictureBox1.Image = BitmapList1[0];
Bitmap bitmap = null; for (int i = 0; i < BitmapList1.Count; i++)
{
bitmap = BitmapList1[i];
e.Graphics.DrawImage(bitmap, 0, (200 * i) + 5, 200, 200);
}
}
catch (Exception ee)
{
MessageBox.Show(ee.Message);
}
}
private void button7_Click(object sender, EventArgs e)
{
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(this.printDocument1_PrintPage);
//pd.Print(); printPreviewDialog1.Document = this.printDocument1;
printPreviewDialog1.ShowDialog();
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
try
{
BitmapList1 = GetBitmapList();
pictureBox1.Image = BitmapList1[0];
Bitmap bitmap = null; for (int i = 0; i < BitmapList1.Count; i++)
{
bitmap = BitmapList1[i];
e.Graphics.DrawImage(bitmap, 0, (200 * i) + 5, 200, 200);
}
}
catch (Exception ee)
{
MessageBox.Show(ee.Message);
}
}
e.HasMorePages = true; // 还有下页第二页:
e.HasMorePages = false; // 最后一页
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
#region
try
{
BitmapList1 = GetBitmapList();
pictureBox1.Image = BitmapList1[0];
Bitmap bitmap = null; iPageCount = (BitmapList1.Count / 6) + 1; for (int i = 0; i < BitmapList1.Count; i++)
{
bitmap = BitmapList1[i];
e.Graphics.DrawImage(bitmap, 0, (200 * i) + 2, 200, 200);
}
}
catch (Exception ee)
{
MessageBox.Show(ee.Message); //提示对话框
}
#endregion
if (iCurrentPage < iPageCount)
{
e.HasMorePages = true;
iCurrentPage++;
}
else
{
e.HasMorePages = false;
}
}
小弟你还是用FastReport来打印吧,想怎么排就怎么排实现起来容易的很。
for (int i = 0; i < BitmapList1.Count; i++)
》改成下面的
iPageCount = (BitmapList1.Count / 6) + 1;
for (int i = 0; i <iPageCount ; i++){} 试试
第一页没有打印。
显然要啊你这个是form做的?为什么不用水晶报表呢?那样打印的部分就不用自己写了