求救:关于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()