读书人

求救:关于PrintPreviewDialog的打印浏

发布时间: 2012-01-13 22:43:30 作者: rapoo

求救:关于PrintPreviewDialog的打印浏览文档的
我写了一个组件,继承System.Windows.Forms.PrintPreviewDialog,然后在工具栏加了一个按钮,我想当这个按钮被按下后,将触发PrintPage事件
重新绘图,根据按钮指定的比例尺单位. 现在是如何在toolStripButton1_Click()这个函数里如何再一次触发PrintPage事件来调用pd_PrintPage()方法.

这个是按钮的事件触发
private void toolStripButton1_Click(object sender, EventArgs e)
{
/*
根据设置X 来绘图浏览
*/
//this.Close();
//this.ShowDialog();
// 我试了这两句,的确触发了PrintPage事件,不过违反了模式对话框的原则了
}

//这个是我对PrintPage事件的相应函数
private void pd_PrintPage(object sender, PrintPageEventArgs ev)
{
Graphics g = ev.Graphics;
// 然后g绘图,绘图用 X 单位
}

哪个大人,帮我看看,我在线急等.

[解决办法]
让document打印两次不就得了!
[解决办法]
PrintPreviewDialog这个类没有这样的方法,
你可以用PrintPreviewControl这个控件,用这个控件的InvalidatePreview方法就可以:

PrintPreviewControl.InvalidatePreview 方法
刷新文档的预览。
备注
如果文档外观发生了更改,则调用此方法。

[解决办法]
对了,这样也是可以的:
this.printPreviewDialog1.PrintPreviewControl.InvalidatePreview()

读书人网 >C#

热点推荐