回复 5楼刘君的帖子
因为spread都是在pd_PrintPage事件里画的,下面代码里设置是PageBounds,没有考虑Marge,PageBounds.x和PageBound.y都是0,因此无论怎么设置都只会画在0,0位置。
- Rectangle rect = new Rectangle(ev.PageBounds.X, ev.PageBounds.Y, ev.PageBounds.Width / 2, ev.PageBounds.Height / 2);
复制代码
需要按照自己需求更改代码,比如你需要考虑Marge,那么就添加判断语句,判断Margin的值就可以了。
我简单给你个思路:
- Rectangle rect = ev.MarginBounds;
复制代码
这样改代码就可以了。
如果你需要自定义打印预览,接下来还会遇到相关的问题。这都和这3个控件相关,PrintDocument,PrintDialog和PrintPreviewDialog是微软的标准控件,微软的msdn会有更多的相关资料供你参考。 |