找回密码
 立即注册

QQ登录

只需一步,快速开始

Hjr2350
论坛元老   /  发表于:2013-1-16 09:44  /   查看:5825  /  回复:5
打扰了

我在进行打印预览时发生了一个很奇怪的现象,如下图所见
2975015.JPG (51.21 KB, 下载次数: 244)

5 个回复

倒序浏览
Hjr2350
论坛元老   /  发表于:2013-1-16 13:42:00
沙发
求助,在线等~~
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-1-16 15:18:00
板凳
回复 1楼Hjr2350的帖子

Hjr2350

谢谢你反馈该问题,该问题是一个已知问题,原因是.NET的标准预览窗体在画线时不够准确,比如,在100%预览模式下可以有些1像素的线无法显示,当改变放大比例时就可以显示出来,不过实际打印不会出现该问题。
回复 使用道具 举报
Hjr2350
论坛元老   /  发表于:2013-1-16 15:30:00
地板
好的,了解,谢谢
我看现在的打印预览都是spread自己提供的,如果我想利用打印预览的spread接口,自己设计打印预览界面可以吗?如果可以的话,打印预览相关的函数接口有哪些?方便告诉我吗
回复 使用道具 举报
ZenosZeng讲师达人认证 悬赏达人认证
超级版主   /  发表于:2013-1-16 18:12:00
5#
回复 4楼Hjr2350的帖子

Spread所提供自定义打印预览窗口的接口很有限

设置预览窗口:
fpSpread1.SetPrintPreview(new PrintPreviewDialog());

自定义打印:
  1. private void button1_Click(object sender, EventArgs e)
  2.        {
  3.            printDocument1.Print();            
  4.        }
  5.       
  6. private void Form1_Load(object sender, EventArgs e)
  7.        {
  8.            fpSpread1.Sheets.Count = 2;
  9.            fpSpread1.Sheets[0].Cells[0, 0].Value = "test";
  10.            fpSpread1.Sheets[1].Cells[0, 0].Value = "test";
  11.           }

  12. private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
  13.        {
  14.            Rectangle rect;
  15.            rect = new Rectangle(0, 0, 100, 100);
  16.            fpSpread1.OwnerPrintDraw(e.Graphics, rect, 0, 1);

  17.            Rectangle rect1;
  18.            rect1 = new Rectangle(0, 200, 100, 100);
  19.            fpSpread1.OwnerPrintDraw(e.Graphics, rect1, 1, 1);            
  20.        }
复制代码
回复 使用道具 举报
Hjr2350
论坛元老   /  发表于:2013-1-17 10:37:00
6#
谢谢你的帮助,很有帮助
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 立即注册
返回顶部