求教转义字符的用法
求教转义字符的用法
书上说转义字符 \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




