问题描述
很简单的几行代码但是为什么打印预览和打印出来的不一样呢???求哪位高手指教!!求救!!做了一段时间C#开发但是这个真的搞不懂~用了这2个工具printDocument和printPreviewDialog再加个button代码如下privatevoidprintDocument1_PrintPage(objectsender,System.Drawing.Printing.PrintPageEventArgse){//字体颜色黑色BrushmyBrush=newSolidBrush(Color.Black);for(inti=0;i<5;i++){e.Graphics.DrawString(j.ToString(),newFont("宋体",6,FontStyle.Bold),myBrush,newPoint(21,k));j++;k=k+20;}}privatevoidbutton1_Click(objectsender,EventArgse){printPreviewDialog1.ShowDialog();}//==========================================预览的时候是12345//============================================但是打印出来是678910为什么??????会这样~~??不懂!!!
解决方案
解决方案二:
这个跟打印没有关系啊,你将j又循环加了一次你在button1_Click里将j重设为初始值就可以了。
解决方案三:
其实打印和预览是一样的道理,一个是打印出来了。一个是打印到预览窗体上了。你照样出来的问题就是J没有初始化,应该在循环外设置J==0;
解决方案四:
你结果出来的问题就是J没有初始化,应该在循环外设置J=0;
解决方案五:
因为printDocument1_PrintPage这个函数在预览的时候会执行一遍(就是打印在屏幕上了),在打印的时候会再次执行,是打印到打印机上了其实这不过就是GDI+画个图罢了你需要代码里保证不管它执行多少遍,都是同样的结果否则即使你不要预览,直接打印那么打印第2次和第1次不一样,不还是bug吗