您的位置:首页 > 编程语言 > C#

给大家共享个CsharpWinform打印模块换行换页的解决方案!大家可以参考。

2016-09-29 17:21 197 查看
原先用的是字符串内的循环遍历,后来改模式后效果真心不错。

public partial class 换页打印 : Form

{

public 换页打印()

{

InitializeComponent();

}

string s = @"N多的打印内容";

StringFormat stringFormat = new StringFormat(StringFormatFlags.MeasureTrailingSpaces, 0);

int count, rows;

private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)

{

SizeF sf = e.Graphics.MeasureString(s, this.Font, e.MarginBounds.Size, stringFormat, out count, out rows);

MessageBox.Show("总长度:" + s.Length.ToString() + "#当页长度:" + count.ToString() + "#行数:" + rows.ToString());

e.Graphics.DrawString(s.Substring(0, count), this.Font, new SolidBrush(Color.Black), e.MarginBounds, stringFormat);

s = s.Remove(0, count < s.Length ? count : s.Length);

if (s.Length > 0)

e.HasMorePages = true;

else

e.HasMorePages = false;

}

private void Form1_Load(object sender, EventArgs e)

{

printPreviewDialog1.Show();

}

private void printDocument1_QueryPageSettings(object sender, System.Drawing.Printing.QueryPageSettingsEventArgs e)

{

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  C# 打印控制 换页