社区
C#
帖子详情
急!打印预览出错!!很奇怪,高手救命!!
xlzxc
2006-10-10 03:55:10
打印预览的时候,第一次正常。同样的文档,再预揽一次,就不对了。
弹出对话框:应用程序发生了未处理的异常。
为将对象引用设置到对样的实例。
都是同一个printdocument,为什么会这样呢??
...全文
245
8
打赏
收藏
急!打印预览出错!!很奇怪,高手救命!!
打印预览的时候,第一次正常。同样的文档,再预揽一次,就不对了。 弹出对话框:应用程序发生了未处理的异常。 为将对象引用设置到对样的实例。 都是同一个printdocument,为什么会这样呢??
复制链接
扫一扫
分享
转发到动态
举报
写回复
配置赞助广告
用AI写文章
8 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
jointan
2006-10-22
打赏
举报
回复
printdoc.PrintPage+= new PrintPageEventHandler(PrintPage);
你应该把这句放到构造函数可执行的地方,不能打开一次执行一次,你这么做会导致每预览一次,PrintPage方法执行增加一次
xlzxc
2006-10-22
打赏
举报
回复
在XP下面调试后发现,如果在class A的构造里面去掉这两行:
PageSize_W=printdoc.defaultPageSettings.Bounds.Width;
PageSize_H=printdoc.defaultPageSettings.Bounds.Heigt;
程序也能正常的运行。
难道是XP下的PageSettings有问题。
xlzxc
2006-10-22
打赏
举报
回复
我修改了程序,不继承PrintDocument,使用PrintDocument.PrintPage+= new PrintPageEventHandler。
代码如下:
class A
{
PrintDocument printdoc;
int PageSize_W;
int PageSize_H;
void PrintPage(object send,PrintPageEventArgs e)
{
// MY code
}
void showprintpreviewdialog()
{
printdoc.PrintPage+= new PrintPageEventHandler(PrintPage);
PrintPreviewDialog tDlg=new PrintPreviewDialog();
tDlg.document=printdoc;
tDlg.ShowDialog().
}
A()
{
printdoc=new PrintDocument();
PageSize_W=printdoc.defaultPageSettings.Bounds.Width;
PageSize_H=printdoc.defaultPageSettings.Bounds.Heigt;
}
}
执行代码:
A _a=new A();
private void button4_Click(object sender, System.EventArgs e)
{
a.showprintpreviewdialog();
}
在WIN2K下面运行这样的代码,一切OK,但是在WINXP上运行就有问题了:
第一次a.showprintpreviewdialog();没有问题,关闭预览窗口以后,再执行a.showprintpreviewdialog();
出现如下错误提示:
应用程序中发生了未处理的异常,……
未将对象引用设置到对象的实例。
************** 异常文本 **************
System.NullReferenceException: 未将对象引用设置到对象的实例。
at System.Windows.Forms.PrintPreviewControl.CalculatePageInfo()
at System.Windows.Forms.Control.InvokeMarshaledCallbacks()
为什么呢,在XP下面有什么不同吗???
fuyun
2006-10-12
打赏
举报
回复
为什么要 override,完全没有必要,重载后你没有调用base吧
xlzxc
2006-10-12
打赏
举报
回复
在showprintviewdialog之前用断点将程序中断,马上按F5继续运行,就一点问题都没有。
但是去掉断点继续运行就不行了。
哪个大哥晓得,能够引发打印错误的有那些原因呢。
在showprintviewdialog 的时候用了try,catch,好象没catch到什么东西哦
JoneG
2006-10-10
打赏
举报
回复
我是用WINFORM做的打印预览,预览多少次都没有问题啊
我没有用你说的那个protected override void OnPrintPage(PrintPageEventArgs e)
我是给PrintDocument 对象pd.PrintPage += new System.Drawing.Printing.PrintPageEventHandler(pd_PrintPage);
xlzxc
2006-10-10
打赏
举报
回复
将protected override void OnPrintPage(PrintPageEventArgs e)中的代码全部屏蔽了,
错误依旧在!昏了
xlzxc
2006-10-10
打赏
举报
回复
设置了断点进行跟踪调试,
protected override void OnPrintPage(PrintPageEventArgs e)
执行完成以后弹出错误
Excel中普通视图与
打印
预览
内容显示不一致的解决方法
一、问题:需要
打印
Excel表中的内容,但在“普通视图”中将格式调好后,点击“
打印
预览
”一看,嘿,一些单元格中的内容又不对了。而最终
打印
出的内容又是与“
打印
预览
”一致的,“
打印
预览
”有问题,
打印
出来势必也...
IE浏览器实现
打印
预览
最近遇到这么一个需求,需要在IE浏览器上
打印
的时候,不直接调用
打印
机,而是先打开
打印
预览
页面,再进行
打印
操作。这样,就需要对原本的
打印
方法进行改写了。具体实现如下:在jsp页面进行以下操作。<!-- 在body标签...
C#实现
打印
与
打印
预览
功能
C#实现
打印
与
打印
预览
功能 在windows应用程序中文档的
打印
是一项非常重要的功能,在以前一直是一个非常复杂的工作,Microsoft .Net Framework的
打印
功能都以组件的方式提供,为程序员提供了很大的方便,但是这几...
计算机无法使用
打印
机
预览
,电脑中excel
打印
预览
无法查看的处理方法
不过,最近一位用户反馈自己电脑中excel的
打印
预览
突然无法查看了。这是怎么回事呢?我们要如何操作?接下来,就随系统城小编一起看看该问题的解决方法吧!具体如下:1、打开Excel,输入一些内容。2、来到Excel的...
vue项目实现
打印
预览
、生成(导出)文档功能
打印
预览
说白就是实现快速跳转新页面
预览
信息,新页面有
打印
按钮,绑定方法调起系统
打印
机实现
打印
功能。 本来我以为这个功能还要将文件先下载下来,再在浏览器进行打开。但doc和docx格式是无法直接在浏览器中显示的...
C#
110,539
社区成员
642,577
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章