方法一:
private void btnPrint_Click(object sender, EventArgs e)
{//PrintPreviewDialog pd = new PrintPreviewDialog();
//pd.ShowDialog(this);
//PrintDialog pd = new PrintDialog();
PrintDocument pd = new PrintDocument();
pd.PrintPage += new PrintPageEventHandler(pd_PrintPage);
PrintPreviewDialog cppd = new PrintPreviewDialog();
cppd.Document = pd;
cppd.ShowDialog();
}
void pd_PrintPage(object sender, PrintPageEventArgs e)
{
Bitmap bit = new Bitmap(this.Width, this.Height);
this.panel2.DrawToBitmap(bit, new Rectangle(0, 0, this.panel2.Width, this.panel2.Height)); //*********
//this.axWebBrowser1.DrawToBitmap(bit, new Rectangle(0, 0, this.panel2.Width, this.panel2.Height));
e.Graphics.DrawImage(bit, 0, 0);bit.Dispose();
}
方法二:(推荐)
打印:
object NullValue = null;
axWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_PRINT, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER, ref NullValue, ref NullValue);
打印预览:
this.axWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_PRINTPREVIEW, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_DODEFAULT);
页面设置:
axWebBrowser1.ExecWB(SHDocVw.OLECMDID.OLECMDID_PAGESETUP, SHDocVw.OLECMDEXECOPT.OLECMDEXECOPT_PROMPTUSER);