有人可以帮助解决这个问题吗?打印多页边距未设置
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.IO;
namespace notepad_demo
{
public partial class Form1 : Form
{
private StringReader myReader;
public Form1()
{
InitializeComponent();
}
private void printToolStripMenuItem_Click(object sender, EventArgs e)
{
printDialog1.Document = printDocument1;
string strText = this.richTextBox1.Text;
myReader = new StringReader(strText);
if (printDialog1.ShowDialog() == DialogResult.OK)
{
printDocument1.Print();
}
}
private void printPrieviewToolStripMenuItem_Click(object sender, EventArgs e)
{
string strText = this.richTextBox1.Text;//read text for richtextbox
myReader = new StringReader(strText);
printPreviewDialog1.Document = printDocument1;
printPreviewDialog1.ShowDialog();
}
private void printDocument1_PrintPage(object sender, System.Drawing.Printing.PrintPageEventArgs e)
{
string strDisplay = "Header";
System.Drawing.Font fntString = new Font("Times New Roman", 28, FontStyle.Bold);
e.Graphics.DrawString(strDisplay, fntString, Brushes.Black, 100, 100);
string strDisplay1 = "Company name";
System.Drawing.Font fntString1 = new Font("Times New Roman", 28, FontStyle.Bold);
e.Graphics.DrawString(strDisplay1, fntString1, Brushes.Black, 100, 150);
float linesPerPage = 0;
float yPosition = 590;
int count = 0;
float leftMargin = 70;
float topMargin = 590;
string line = null;
Font printFont = new System.Drawing.Font("Times New Roman", 8, FontStyle.Regular);
SolidBrush myBrush = new SolidBrush(Color.Black);
linesPerPage = e.MarginBounds.Height/printFont.GetHeight(e.Graphics);
while (count < linesPerPage && ((line = myReader.ReadLine()) != null))
{
yPosition = topMargin + (count * printFont.GetHeight(e.Graphics));
e.Graphics.DrawString(line, printFont, myBrush, leftMargin, yPosition, new StringFormat());
count++;
}
if (line != null)
{
e.HasMorePages = true;
}
else
{
e.HasMorePages = false;
}
myBrush.Dispose();
}
}
}
在所附的图像,第一页是不错,但第二,第三和第四页也开始同样按照第一页。 我只想在第一页上显示页眉和公司名称,而在第二页上则在顶部页边上显示“RichTextBox.text”。
我的错误在哪里?
我编辑了你的标题。请参阅:“[应该在其标题中包含”标签“](http://meta.stackexchange.com/questions/19190/)”,其中的共识是“不,他们不应该”。 – 2014-10-10 06:39:21
@Varta,在您的问题中询问有关同一主题[昨天](http://stackoverflow.com/questions/26279404):您使用什么报告模块?你是自己画所有的页面吗? – 2014-10-10 07:01:12
@林德林德,我想像ref图像。 – Varta 2014-10-10 07:21:48