CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  C#

求教转义字符的用法

楼主dotnet86()2006-11-03 19:35:20 在 .NET技术 / C# 提问

求教转义字符的用法  
   
  书上说转义字符   \f   可以具有换页的作用,于是我在我的printDocument1_PrintPage   中加入的这样的内容  
   
                                               
                                                      string   breakpage   =   "\f";  
                                                      Font   drawFont   =   new   Font("Arial",   16);  
                                                  SolidBrush   drawBrush   =   new   SolidBrush(Color.Black);  
   
                                                    PointF   drawPoint   =   new   PointF(150.0F,   150.0F);  
   
                                                 
                                                  e.Graphics.DrawString(breakpage,   drawFont,   drawBrush,   drawPoint);  
   
  目的是让打印机换到新页打印,可以它还是打印出来一个怪字符,请教,错在什么地方呀  
   
  谢谢了  
  问题点数:20、回复次数:5Top

1 楼lizhizhe2000(武安侯)回复于 2006-11-03 19:42:39 得分 0

有时候在程序中需要把输出的文本进行打印,而笔者在此遇到了一点问题。代码如下:  
   
  printPage   event  
  e.Graphics.DrawString(txtResult.Test,New   Font("Arial",12,FontStyle.Regular),Brushes.Black,80,80)  
  printEnd   event  
  MessageBox……  
  ……  
  printDoucument1.Print()  
   
                  textbox已经设置为多行,输入文字后,一段很长的文字在textbox里是可以自动换行。这样做,文章的确可以打印,但是textbox里面会自动换行的地方在纸张上却不会自动换行,一定要遇到&CrLf才行。结果导致一段很长的文字无法打印完,纸张上仅能打印出部分文本,出界的文字全部丢失。  
                  最常见的方法是通过限定每行的字数来进行强制换行,或换文本所使用的控件。但经过思考,途径还有许多,具体代码如下:  
   
   
  private   void   printDocument1_PrintPage(object   sender,   System.Drawing.Printing.PrintPageEventArgs   e)  
  {    
          string   str="";  
          int   y=textBox1.TextLength/5;  
          for(int   i=0;i<=textBox1.TextLength/5;i++)//5个字符就换行  
          {  
                    if(i<y)  
                    {  
                          str+=textBox1.Text.Substring(i*5,5)+Environment.NewLine;  
                    }  
                          else    
                          {  
                                str+=textBox1.Text.Substring(i*5);  
                          }  
          }  
          e.Graphics.DrawString(str,   new   Font("Arial",12,FontStyle.Regular),Brushes.Black,80,80);  
  }  
   
   
  private   void   button3_Click(object   sender,   System.EventArgs   e)  
  {  
      printDocument1.PrintPage+=new   System.Drawing.Printing.PrintPageEventHandler(this.printDocument1_PrintPage);  
          printDocument1.Print();  
  }  
   
   
  private   void   printDocument1_EndPrint(object   sender,   System.Drawing.Printing.PrintEventArgs   e)  
  {  
      MessageBox.Show("Print");  
  }  
   
   
  该方法主要是通过Environment.NewLine来达到自动换行的目的。Top

2 楼dotnet86()回复于 2006-11-03 20:01:00 得分 0

这是换行呀,C#提供了一个Environment.NewLine.   可是换页没有查到什么东西可用呀Top

3 楼zhxfzhxf1(zhxfzhxf1)回复于 2006-11-03 21:05:04 得分 0

UP  
  Top

4 楼lovvver(ElephantTalk.Bright)回复于 2006-11-03 22:36:10 得分 0

打印换页,不是你对内容做换页就能够实现的,你要在报表模板中设置。Top

5 楼dotnet86()回复于 2006-11-04 08:52:18 得分 0

经高人指点,已经完成了,谢谢牛牛Top

相关问题

关键词

得分解答快速导航

  • 帖主:dotnet86

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo