且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

如何在Windows应用程序中打印Web表单

更新时间:2023-10-21 13:13:46

private void ButtonPrintClick(object sender,EventArgs e)

{

//创建文档

PrintDocument _document = new PrintDocument();

//添加打印处理程序

_document.PrintPage + = new PrintPageEventHandler(Document_PrintPage);

//创建显示结果的对话框

PrintPreviewDialog _dlg = new PrintPreviewDialog();

_dlg.ClientSize = new System.Drawing.Size(Width / 2,Height / 2);

_dlg.Location = new System.Drawing.Point(Left,Top);

_dlg。 MinimumSize = new System.Drawing.Size(375,250);

_dlg.UseAntiAlias = true;

//设置我们的文件

_dlg.Document = _document;

//显示它

_dlg.ShowDialog(this);

//处理文件

_document.Dispose();

}

//打印处理程序

private void Document_PrintPage(object sender,PrintPageEventArgs e)

{

//创建位图表单大小

位图_bitmap =新位图(宽度,高度,System.Drawing.Imaging.PixelFormat.Format32bppRgb);

//从位图DC绘制

this.DrawToBitmap(_bitmap,this.DisplayRectangle);

//将位图绘制到打印机DC

e.Graphics.DrawImage(_bitmap,0,0) ;

//不再需要 - 处理它

_bitmap.Dispose();

}



试试这个并告诉我
private void ButtonPrintClick(object sender, EventArgs e)
{
// Create document
PrintDocument _document = new PrintDocument();
// Add print handler
_document.PrintPage += new PrintPageEventHandler(Document_PrintPage);
// Create the dialog to display results
PrintPreviewDialog _dlg = new PrintPreviewDialog();
_dlg.ClientSize = new System.Drawing.Size(Width / 2, Height / 2);
_dlg.Location = new System.Drawing.Point(Left, Top);
_dlg.MinimumSize = new System.Drawing.Size(375, 250);
_dlg.UseAntiAlias = true;
// Setting up our document
_dlg.Document = _document;
// Show it
_dlg.ShowDialog(this);
// Dispose document
_document.Dispose();
}
// Print handler
private void Document_PrintPage(object sender, PrintPageEventArgs e)
{
// Create Bitmap according form size
Bitmap _bitmap = new Bitmap(Width, Height, System.Drawing.Imaging.PixelFormat.Format32bppRgb);
// Draw from into Bitmap DC
this.DrawToBitmap(_bitmap, this.DisplayRectangle);
// Draw Bitmap into Printer DC
e.Graphics.DrawImage(_bitmap,0,0);
// No longer deeded - dispose it
_bitmap.Dispose();
}

Try this and let me know